ALTERYX INSPIRE | Join us this May for for a multi-day virtual analytics + data science experience like no other! Register Now
The Alteryx Community will be temporarily unavailable for a time due to scheduled maintenance on Thursday, April 22nd. Please plan accordingly.

Alteryx Connect Knowledge Base

Definitive answers from Connect experts.
Unspecified Error when Resetting a User's Password   When clicking Reset Password, a warning regarding an unspecified error pops up.       Environment   Product - Alteryx Connect   Cause   When resetting a password, Connect needs to send an e-mail to the user.  This error indicates the administrator has not configured the SMTP server correctly.   Solution   In the Admin portal, go to the SMTP Settings tab under Connect Configuration, fill in all required fields, test the connection, and Save.      
View full article
Issue - Unable to add user(s) to a group in Alteryx Connect   When trying to add a user to a group in Connect, the user is not found and therefore cannot be added to the group.       Environment   Alteryx Connect Version 18.4+   Cause   The user does not have an email address set.   Solution   Navigate to the user in Connect under People Click the Edit button in the top right Enter the user's email in the Email field You should now be able to add the member to a Group.   Additional Resources   Managing Users and Permissions in Connect Authentication Methods for Connect
View full article
How To: Configuring SAML on Alteryx Connect for OneLogin   The information will assist with configuring Alteryx Connect to be function with OneLogin   Prerequisites   Alteryx Connect  ≥ 2019.1 OneLogin Account with access to perform administration tasks All users must have an email address attribute   Procedure Login to Alteryx Connect using the Administrator account, change the Base URL to match the FDQN of the machine in Administration Console > Connect Configuration > Instance setting, make sure the Base URL is NOT http://localhost:                     2. In the OneLogin Administration screen, highlight Apps in the top navigation menu and select   Add Apps       3. On the Find Applications screen, search for SAML in the box provided, and select OneLogin SAML Test (ldP)       4. Fill in the name, description and the details for Alteryx Connect, then, click Save                     5. Click the More Options button on top right and select to download the SAML Metadata file:                   6.  Click Configuration in the navigation menu, fill out details according to your Alteryx Connect's url                   SAML Consumer URL: your Connect URL with /aas/Saml/Acs appended to the end        SAML Audience: "Entity ID" provided by Alteryx Connect (Admin Console > Connect Configuration > Single Sign On)        SAML Recipient: "Single Sign On URL/Destination URL" provided by Alteryx Connect (Admin Console > Connect Configuration > Single Sign On)        SAML Single Logout URL: "Single Logout Endpoint" provided by Alteryx Connect (Admin Console > Connect Configuration > Single Sign On)         Leave ACS URL Validator blank, when finished, click Save.        7. Under the Parameters section, we will need map the Claims of email, firstName and lastName, select "Include in SAML assertion" when add these parameters. Email (NameID) is a starting Field provide by OneLogin, ignore this.  The end result of Parameters is showing as below:                   8. Select the users under User section, and click on Applications on left hand side, add the Alteryx Connect application to the user:                    9. Navigate to Alteryx Connect's Administrator Console > Connect Configuration > Single Sign on, Click + ADD to add the SAML authentication. For Name and Description, you can give any custom values.          10. Under Identity provider details, select the check box of "Upload IDP metadata", and Choose the file download at step 4, and click SAVE                     11. Log out of Alteryx Connect, and in the Log in page, you will see the OneLogin SSO option, click on there, it will navigate to the OneLogin sign in page:                        Once the user have logged in once, the OneLogin method will automatically authenticate the user into Alteryx Connect when the user clicked on the OneLogin option in Connect's login page.   Common Issues   The configuration for OneLogin works for Alteryx Connect if the Entity ID is "com.alteryx.saml.localhost" In the earlier version of Alteryx Connect, the Entity ID is "Localhost"    Additional Resources   Once the user have logged into Alteryx Connect using OneLogin SSO, the OneLogin administrator can see the sign in entry in Activity > Reports, under Application access           
View full article
How To: Use the Connect REST API with Designer This guide will walk you through how to login to the Connect API and download Connect entries in JSON format. Attached to this guide is a macro you can use to download all entries listed in an input file.   Prerequisites   Product - Alteryx Connect 2018.2+ Product - Alteryx Designer   Procedure (Alteryx Designer)   Log in to the REST API with your credentials. The API login endpoint is http://HOSTNAME:PORT/rest/1/login  In Designer, configure the URL of the Download tool to the API login endpoint. Set the HTTP Action to POST and pass your username and password in the payload data. In the DownloadHeaders field of the Download tool output, make note of the JSESSIONID. IMPORTANT: The DownloadData field also contains the JSESSIONID returned in the session_cookie field of the API response, but generally '=' is encoded to '\u003d'. The only value you need for the next step is JSESSIONID=xxxxxxxxxxxxxx NOTE: The JSESSIONID is valid for 30 minutes Make note of an xid from Connect. If you don't already have one, you can grab one from the URL of a Connect entry in Connect. Make a GET request on the Get Entry API endpoint. The Get Entry API endpoint is http://HOSTNAME:PORT/rest/1/entry/{xid} Example: http://localhost:1900/rest/1/entry/10b603fa-5c89-4bf6-b865-b243b303c760 In the basic Tab of the Download tool, select the Get Entry API endpoint as the URL In the headers tab, pass a variable called cookie with the value from step 3 (JSESSIONID=xxxx) Explore the Connect REST API documentation to learn more. Have fun!     Common Issues   I logged in successfully, but I get a 401 response when trying to get an xid. Typically this occurs when you are not passing a cookie containing an active JSESSIONID in the header of the request. Refer to Step 4 above. I logged in successfully, but I get a 400 response when trying to get an xid. Check your values in the Download Tool Headers and ensure that the name of the variable is cookie and the value is JSESSIONID={id}    Additional Resources   Connect REST API Documentation
View full article
File Size alert on Alteryx Connect after removing assets           The size of the database files depends on the activity made in the system. If you are removing assets from Connect using soft-delete (assets marked as deleted ) the database size is still increasing. Synchronizing and adding more assets into Connect will also increase the size of the database. Alteryx Connect uses database H2 (version .197) which does not support auto shrinking functionality so removing items from the trash will not shrink the database by itself.        What can I do to reduce the size of my database ?   Perform a Defrag  Perform a Compact  Set Soft-Delete to False   On the Horizon   In 2020.1 Alteryx Connect will be upgrading to H2 version .200 which will include auto shrinking functionality  
View full article
Newly Created Users Encountered Error on Login in Connect   Users are not able to log in and encounter the following error:   The Alteryx Connect License is invalid. Contact Alteryx Support for assistance.   Environment   Product - Connect version: 2019.1   Diagnosis   Checking the log in the Administration Console indicates a wrong license has been used.  Please note: The Connect Administrator account will always be able to log in to Connect.  You can also find the logs written locally on the server at %ConnectInstallPath%\logs\Catalina.out           04:31:51.971 [http-nio-8080-exec-2] ERROR cz.semanta.xf3.license.License - This system has 4 physical cores, but the license only allows 2 04:31:51.971 [http-nio-8080-exec-2] ERROR c.s.x.s.Xf3AuthenticationProvider - Failed to login user org.springframework.security.authentication.BadCredentialsException: The Alteryx Connect license is invalid. Contact Alteryx Support for assistance.           Cause   The error is due to using an invalid license on the Connect server.   Solution   This issue is resolved after obtaining and installing the correct license for the server.
View full article
How To: Configure SAML on Alteryx Connect for Active Directory Federation Services (ADFS)   Alteryx Connect has the ability to interface with a number of identity providers that support the SAML 2.0 standard, and recently we stood up an ADFS test server and set it up with Alteryx Connect successfully. The following information will assist with configuring Alteryx Connect to be functional with ADFS.   Please note the following information is based on third-party software and processes may be slightly different on older or newer versions of the software. The following was created against ADFS v4.0 running on Windows Server 2016 and Alteryx Connect 2019.2.   Prerequisites   Alteryx Connect >= 2018.1 Account with access to perform administration tasks AD FS Server Account with access to perform administration tasks All users that will login must have an email address attribute SSL/TLS certificate installed on Alteryx Connect (Self-Signed certificate is not recommended) How To: Configure SSL (Issued SSL Certificate) on Connect How To: Enable SSL in the Connect Installer   Procedure   Verify that your Alteryx Connect server has been configured with SSL/TLS enabled and that a proper SSL certificate is installed. Instructions are provided in the link above Login to your Alteryx Connect website as the default administrator (admin) account. Note: Other administrator accounts may not be able to see the required options in certain versions of Alteryx Connect Open the Administration Panel > Connect Configuration > Single Sign-On Click Download Metadata. This will download a XML file containing configuration information and Connect's SAML signing certificate that we will import into ADFS. You should send this resulting file to your ADFS administrator to assist with setup. Note: This button may only be visible to the "super-admin" account (admin) within Alteryx Connect. This option is not available to other administrator accounts in certain versions, so if you do not see the button, make sure you are signed into the default "admin" account created when you initially setup your Alteryx Connect instance. This and following steps will require an ADFS administrator. Open the AD FD Management utility (Start > Windows Administrative Tools > AD FS Management) Click Relying Party Trusts   from the console, then click Add Relying Party Trust... Click Import data about the relying party from a file Use the Browse button to browse to the location of the XML file gathered in Step 4, then click Next Type a  Display name  for the trust. I placed "Alteryx Connect" here, but you can use a name that best identifies the connection for you, such as a server name or other easily identifiable name. Then click  Next . Select Permit everyone from the Access Control Policy and click Next. Note: You may wish to configure this option differently depending on the environment and whom you wish to be able to authenticate with Alteryx Connect, or you may wish to setup Multi-Factor Authentication (MFA). Specific access permissions and these types of setup are outside the scope of this article. Click Next on the Ready to Add Trust page. Check the box next to Configure claims issuance policy for this application and click Close. Verify the  Claim rule template  is set to  Send LDAP Attributes as Claims  and click  Next . Type a desired name for the rule within the Claim rule name box. From the Attribute store drop-down, choose Active Directory. Using the following table, set the appropriate options within the Mapping of LDAP attributes to outgoing claim types box. Click Finish. Note: The following outgoing values are case sensitive and will need to be typed except for "E-Mail-Addresses". LDAP Attribute Outgoing Claim Type E-Mail-Addresses Name ID Given-Name firstName Surname lastName On the Claim Issuance Policy window, click  Apply  to apply the settings, then click  OK . In the Relying Party Trusts window, double-click the Trust that you created earlier. Click the Advanced tab. Change the Secure hash algorithm to SHA-1. Click OK. (Optional) The ADFS signing certificate and/or web access certificate (certificate used to serve metadata from ADFS and field requests) may be required to manually import if your certificates are not signed by a publicly recognized Certificate Authority (CA). These should be provided to your Alteryx Connect admin as Base64 encoded Certificate (typically .cer) files if possible. You will now need an administrator with access to the Alteryx Connect website as the default administrator (admin) account. Note: Other administrator accounts may not be able to see the required options in certain versions of Alteryx Connect Open the Administration Panel > Connect Configuration > Single Sign-On page. Click +ADD to open the new SAML dialog. In the Name field, type a name for the ADFS connection. Note: This name will appear on the Alteryx Connect login page for users of the Alteryx Connect system. Choose an Icon for the Identity Provider (IDP). Note: An icon picture must be provided to continue. You can use a placeholder image if you do not have an appropriate image available. In the Description field, type a description for the IDP. Under Identity provider details, select an appropriate connection option. For our guide, we'll be using Get IDP metadata from URL. Contact your ADFS administrator if you are not sure which option to use. Set the  IDP Metadata URL  to the location of the  Federation Metadata  xml file provided by the ADFS server. Example: Note : If you are not positive on the value for this, ask your ADFS administrator. Click SAVE. If you receive an error at this stage, please review the Log page in the Alteryx Connect Administration Console. Review the articles below, as one or both of the following knowledge articles may apply to your situation based on the error(s) you are receiving. How To: Add SAML IDP Signing Certificate to Connect Keystore How To: Add Web Connection Certificate to Alteryx Connect Keystore Click the X in the Active column next to the new ADFS IDP entry. Click OK within the dialog asking if you wish to turn on the IDP. If you receive an error at this stage, please review the Log page in the Alteryx Connect Administration Console. Review the articles in the previous step, as one or both of the above knowledge articles may apply to your situation based on the error(s) you are receiving. Once the connection is enabled, Restart the Alteryx Connect service on the machine. Validate that the IDP is now appearing on the login page of Alteryx Connect Note: If you also have Windows Authentication turned on in Connect Administration, you may need to log out to see this option or browse to the login page directly. URL: https://{ConnectBaseURL}/login Example: https://trn-con-07.cs.alteryx.com/login   Common Issues   If any issues are experienced during setup, reach out to Alteryx Support for additional assistance.    Additional Resources    
View full article
As Dr. Nick so eloquently defines...   The business glossary within Alteryx Connect is a powerful tool for maintaining a repository of formal definitions for an organization. These definitions are then linked and associated to the many terms, reports, workflows, and data elements across the enterprise, leading to that invaluable map of tribal knowledge that lets analysts get their job done faster and better than ever before. The user and admin help documentation explain that terms can be added one at a time, or in a batch. Here are the steps to bulk load.   1. Glossary page - Export to Excel     2. Glossary.xls - "Folder" tab   You may affect the folder structure of the Glossary and it’s sub folders. There should always be an entry for the Glossary Folder itself. It’s XID and Parent ID are standardized, but you can change its “entryName” if you like (for instance “Enterprise Glossary”). On this tab, you may also add subfolders. This could be useful if you wanted to group glossary terms by business unit or term category. Subfolders should have a parent ID of the Glossary, and if you’re uploading new subfolder definitions, you can leave XID blank (Connect will supply an ID on upload).   3. Glossary.xls - "Relations" tab     The second tab “relations” holds all the definitions of relationships defined on the Glossary terms to other entities within Connect. You need to know the Target ID in order to establish the relationships here.   4. Glossary.xls - "Term" tab   You can add new entries to the glossary or edit existing via the “Term” tab.   5. Administration - Choose file to Upload   When uploading, the content will be placed into the appropriate folders based on the IDs within the file. The content will Append to existing if new, modify if pre-existing by ID, but it will not remove entries if not supplied within the uploaded file.   6. Glossary - View the New Term  
View full article
Alteryx Connect is a centralized view into the world of data within your enterprise, unlocking tribal knowledge, and allowing data workers to become more efficient and effective!
View full article
In order to schedule the Metadata loader, you will need to configure and save the .yxwv file, and configure the  ConnectScheduler workflow to run from the directory of the .yxwv file. Detailed steps listed below:   1. Open the Metadata loader in Designer, in this example the Files loader, fill in the information for the "Files to load" and "Alteryx Connect" tabs       2. Click Save button to save the .yxwv file in the default File Loader location - C:\ProgramData\Alteryx\AlteryxConnect\Files_Loader 3. Click Help > Sample Workflow > Alteryx Connect Metadata Loaders > ConnectScheduler 4. Click on the Directory input tool, select the root directory where the yxwv file(s) is saved, for example  C:\ProgramData\Alteryx\AlteryxConnect 5. For the File Specification, leave it as *.*     6. Saved locally text   Schedule the loader using Local machine    1. To Schedule using local computer, complete steps 1 - 5 from above  2. Click Option > Schedule Workflow > My computer  3. Select Run the workflow from its original location on disk       Note: When the scheduler runs, it will run every metadata loader with .yxwv file one by one. If you only need to have one of the loaders scheduled, you need to have the Metadata loader moved into a folder other than C:\ProgramData\Alteryx\AlteryxConnect   Schedule the loader using the Alteryx Gallery   Save the ConnectScheduler to Gallery for Scheduling. instructions can be found in  https://help.alteryx.com/connect/current/Administration/ScheduleLoaders.htm under Configure and test the Connect Scheduler > Step 6.   Tip: When scheduling loaders on Alteryx Gallery, we recommend to copying the metadata loader and save the .yxwv files into a share drive to avoid the situation where the Alteryx Server machine is unable to access the end user's machine. See steps below:   Steps: 1. Create a Folder called AlteryxConnect in a Share Drive 2. Copy the loader folder, for example Files_Loader from C:\ProgramData\Alteryx\AlteryxConnect to the Share Drive's AlteryxConnect 3. Complete steps 1-2 from above but save the .yxwv file into the share drive under AlteryxConnect\Files_loader 4. Open  ConnectScheduler from Help > Sample Workflow > Alteryx Connect Metadata Loaders  5. In the Directory Input tool, select the Path of AlteryxConnect in the Share Drive, make sure it is the UNC path 6. Save ConnectScheduler, and it is ready to be schedule         
View full article
All the steps to install and license your own Connect instance!
View full article
This article is a guide on how to import a Certificate Authority (CA) signed certificate after enabling SSL with the Installer.  
View full article
With version 2019.1, you can make Connect run on https protocol and make the communication between client and server much more secure. This is an enhancement from the previous version, when you had to manually change configuration files, download SSL tools and execute several of commands. Now you can do it in a user friendly way just by using the Installer.
View full article
How To: Add Web Connection Certificate to Alteryx Connect Keystore   This article is intended to instruct on the operation of adding a certificate to Alteryx Connect's Java Keystore (cacerts). This process is useful if you need to add a certificate for a direct SSL-based web connection from the Alteryx Connect service, e.g. to retrieve a metadata XML file from an internal SAML provider with a self-signed or internally signed SSL/HTTPS certificate that may not be trusted by a globally trusted CA or similar. This process is not intended to resolve SSL connection issues with Metadata Loader processes. Typically, this process would only be necessary when attempting to configure SAML-based authentication with an on-premises SAML identity provider. An error message also may be displayed that may require you insert a certificate to this store, similar to the following: org.opensaml.saml2.metadata.provider.MetadataProviderException: org.opensaml.saml2.metadata.provider.MetadataProviderException: Error retrieving metadata from {metadataURL}.xml ...(trimmed) Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target ...(trimmed) Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target ...(trimmed) Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target     Prerequisites   Alteryx Connect >= 2018.1 Remote Desktop (RDP) or other direct access to the Alteryx Connect machine Windows Administrator account on the Alteryx Connect machine Certificate (.cer) or other X509 certificate file available to import This certificate should ideally be the Certificate Authority (CA)'s root signing certificate, but can also be the certificate used for the remote machine itself If you are not sure where to obtain this certificate, reach out to an administrator or support group for the CA, or your IT team for assistance   Procedure   Verify that the certificate file is available on the Alteryx Connect machine's local file system Open a Command Prompt (cmd.exe) as Administrator on the Alteryx Connect machine's desktop Change directory to the Java bin directory of your Alteryx Connect installation. Replace {InstallDir} in the command below with the root path of your Alteryx Connect installation. Press Enter Command Line: cd "{InstallDir}\jre\bin" Example: cd "C:\Program Files\AlteryxConnect\jre\bin" The keytool.exe utility will need to be used in order to insert the certificate. Replace {file} in the command below with the full path to the certificate file being used. Replace {InstallDir} with the root path of your Alteryx Connect installation. Replace {alias} with a desired identifier for the certificate you are inserting. Command Line: keytool.exe -importcert -file "{cert}" -keystore "{InstallDir}\jre\lib\security\cacerts" -alias "{alias}" -storepass changeit Example: keytool.exe -importcert -file "C:\Users\username\Desktop\CACert.cer" -keystore "C:\Program Files\AlteryxConnect\jre\lib\security\cacerts" -alias "ADFS_Web" -storepass changeit Press Enter Executing the command above should return information about the certificate and a prompt asking to trust the certificate. Make sure the information in the return matches the expected values, then type yes at the prompt. Press Enter   Verify you receive the return Certificate was added to keystore If you receive an error, review the error message and make any corrections necessary. Restart the Alteryx Connect service to apply the changes.    Additional Resources   {Note to self - Add resources to SAML setup article once completed}
View full article
How To: Add SAML IDP Signing Certificate to Connect Keystore   This article is intended to assist with inserting a certificate to be used to validate a SAML signature from a SAML Identity Provider (IDP) when used with Alteryx Connect. This article will only be needed if your IDP is signing assertions or other traffic with a specific cert that may be self-signed or not trusted by a widely trusted Certificate Authority (CA).   An error message may be received while attempting to validate the signature from an IDP if this is not inserted. An example is below:       org.opensaml.saml2.metadata.provider.MetadataProviderException: org.opensaml.saml2.metadata.provider.MetadataProviderException: Error filtering metadata from {metadataURL}.xml ...(trimmed) Caused by: org.opensaml.saml2.metadata.provider.MetadataProviderException: Error filtering metadata from {metadataURL}.xml ...(trimmed) Caused by: org.opensaml.saml2.metadata.provider.FilterException: Signature trust establishment failed for metadata entry       Prerequisites   Alteryx Connect >= 2018.1 Remote Desktop (RDP) or other direct access to the Alteryx Connect machine Windows Administrator account on the Alteryx Connect machine Alteryx Connect account within the "Administrators" group Certificate (.cer) or other X509 certificate file available to import This certificate should be the IDP's signing certificate or part of the certificate chain If you are not sure where to obtain this certificate, reach out to an administrator or support group for the CA, or your IT team for assistance   Procedure   Verify that the certificate file is available on the Alteryx Connect machine's local file system You will also need the password for the SAML keystore (samlKeystore.jks in the ac_work directory). If you do not have this keystore password, follow the sub-steps to change the password Open Alteryx Connect in a web browser and login with an Administrator account Open the Administration panel by clicking on your account name in the upper-right corner and choosing Administration from the drop-down Click Connect Configuration from the Admin Menu Click Single Sign-On within the Connect Configuration panel Click Advanced settings near the bottom of the page Specify a new password in the Password field Click Save Open a   Command Prompt (cmd.exe) as Administrator   on the Alteryx Connect machine's desktop Change directory to the Java bin directory of your Alteryx Connect installation. Replace   {InstallDir} in the command below with the root path of your Alteryx Connect installation. Press Enter Command Line:     cd "{InstallDir}\jre\bin"   Example:   cd "C:\Program Files\AlteryxConnect\jre\bin"     The keytool.exe utility will need to be used in order to insert the certificate. Replace   {file} in the command below with the full path to the certificate file being used. Replace   {InstallDir} with the root path of your Alteryx Connect installation. Replace   {alias}   with a desired identifier for the certificate you are inserting. Replace {samlKeystorePassword} with the password gathered in Step 2 above. Command Line:     keytool.exe -importcert -file "{cert}" -keystore "{InstallDir}\ac_work\samlKeystore.jks" -alias "{alias}" -storepass {samlKeystorePassword}   Example:   keytool.exe -importcert -file "C:\Users\username\Desktop\SAMLSigningCert.cer" -keystore "C:\Program Files\AlteryxConnect\ac_work\samlKeystore.jks" -alias "ADFS_Signing" -storepass keystorePassword22     Press   Enter Executing the command above should return information about the certificate and a prompt asking to trust the certificate. Make sure the information in the return matches the expected values, then type yes   at the prompt. Press Enter       Verify you receive the return Certificate was added to keystore If you receive an error, review the error message and make any corrections necessary. Restart   the Alteryx Connect   service to apply the changes.      Additional Resources   How To: Configure SAML on Alteryx Connect for Active Directory Federation Services (ADFS)
View full article
After ensuring you’ve downloaded the latest Connect Metadata loaders from the  live downloads page , simply proceed with the steps below to upload Gallery workflows and Alteryx Insights metadata to your Alteryx Connect instance!
View full article
After ensuring you’ve downloaded the latest Connect Metadata loaders from the  live downloads page , simply proceed with the steps below to  upload Amazon Redshift datasource metadata  to your Alteryx Connect instance!
View full article
Relationships/Lineages in Connect and the steps to modify them!
View full article
Please see Maintaining Data Lineage for details and requirements before your metadata harvest. After ensuring you’ve downloaded the latest Connect Metadata loaders from the live downloads page, simply proceed with the steps below to upload Tableau Server metadata to your Alteryx Connect instance!
View full article
Please see Maintaining Data Lineage for details and requirements before your metadata harvest. After ensuring you’ve downloaded the latest Connect Metadata loaders from the live downloads page, simply proceed with the steps below to upload File System Metadata to your Alteryx Connect instance!
View full article
Please see Maintaining Data Lineage for details and requirements before your metadata harvest. After ensuring you’ve downloaded the latest Connect Metadata loaders from the live downloads page, simply proceed with the steps below to upload Oracle Database metadata to your Alteryx Connect instance!
View full article