Steps To Publish A Connector In The TIBCO Scribe® Marketplace
First Time - Getting Started
TIBCO Scribe® uses GitLab to manage the exchange of code between third-party developers and the TIBCO Scribe® teams responsible for getting your Connector into our Marketplace. If you don’t have a GitLab account, create one now (
https://gitlab.com/users/sign_in) and select Register.
NOTE: Don’t create a GitLab Project or a Repository. You will need to provide us with your GitLab account name(s) so we can create the GitLab Project for you and add you to that Project. Once you are added, you can create your GitLab Repository in the Project we created for you. After you have uploaded your Connector code, we will retrieve that code from the Repository for review. Access to the project will be private to you and to TIBCO Scribe®.
If you do not already have a TIBCO Scribe® Online account in both our Sandbox and Production (AWS and/or Azure) environments, you should create those accounts now. To create a Sandbox account, go to
https://app-sandbox.scribesoft.com and click "Create a New Account". To create a Production account, go to
https://app.scribesoft.com and click "Create a New Account". You will need to send us the Organization Id for each environment when you submit your code. For instructions on creating accounts, see
Creating A TIBCO Scribe® Online Account in the TIBCO Scribe® Online Help. Note that the Sandbox environment is AWS only. There is no Azure Sandbox at this time.
Step 1 - Uploading Your Connector Code
- Notify TIBCO Scribe® via email at scribeconnectordeploy@tibco.com that you will be submitting a Connector for Certification. Provide us with details about your company and what you plan to develop.
- You should hear from someone on the team within 5 business days letting you know that your repository is all set. Once this has been done you do not need to request a separate repository for each Connector, you just create a project under the repository we created for you.
Read all the directions before proceeding to understand the complete process. Failure to follow these directions will delay the release of your Connector into the Marketplace.
- After we have notified you that a project has been created and you have been added, you should be able to access it when you log into your GitLab project. Create a repository in that Project first. Then, create a folder for each Connector with the following convention - yourcompany.Connector.application
(For example: scribe.Connector.smtp OR acme.Connector.coolapplication)
- Within this folder create two additional folders along with the regular source code. The image below shows the correct folder structure and source code. The folder structure must match this outline:
Gitlab.com/YourCompany (which we will create)
../Company.Connector.Application
../References
../Properties
../Doc
../
The Image below shows correct folder structure and source code.
Notes On File Structure
Doc Folder – Includes the icon, readme file, and project’s manifest. See details further below on the contents of the Manifest. We will reject your Connector if these are not provided.
- Icon - 60 x 60 png – transparent background if possible – this represents your Connector so a professional looking image is strongly recommended
- Readme – description of your Connector
- Project’s manifest (see reference below)
- End-User Licence Agreement (EULA) - required to document any third-party components you may be using in your code. For example, if you are using Newtonsoft's JSON library, you must document the name, version and license. If you have questions on this please post to the Community and someone can assist:
https://support.tibco.com/s/ NOTE: If you are
not using any third-party components please indicate in the email under Step 2 below and you do not need to include the EULA.
- Logo Authorization - If you are using a third-party Icon/Logo which will be shown in our Marketplace you must provide us with proof you are authorized to use it. It is acceptable to use your own logo or find freely distributed logos to represent your Connector.
NOTE: If you are using your own or freely distributed logo, please indicate that in the email under Step 2 below, and you do not need to include the Logo Authorization.
References Folder – Includes:
- All dependency files, *.dll’s, for example newtonsoft.json.dll, see Additional Information and Connector References below. For a CDK project provide Scribe.Core.ConnectorApi.dll and for a Fast Framework project, provide Scribe.Core.ConnectorApi.dll & Simple.Connector.Framework.dll
Properties – Assembly / Versioning information
Source Code - Put all source code in the root of the yourcompany.Connector.application folder including:
- Project file - *.proj
- Solution file - *.sln
Additional Information
- TIBCO Scribe® will create a GitLab project for your company once you send us your GitLab account information. Refer to Getting Started - Step 1 instructions above for information about setting this up. Access to your GitLab project is limited to your team and to TIBCO Scribe®. Other TIBCO Scribe® customers cannot access your code.
- If your Connector supports Cloud Agents you need to pay special attention to the following setting. SupportsCloud = true; For more information, see ScribeConnectorAttribute SupportsCloud Property in the Developer Portal.
- To include a description of the Connector in the Marketplace, use the Connector property called "description" that can be set as part of the ScribeConnector attribute. For more information, see ScribeConnectorAttribute Class in the Developer Portal. To see an example, log into the TIBCO Scribe® Online UI, navigate to the Marketplace, and select the Pardot Connector.
- Quality assurance testing is done by you, not by TIBCO Scribe®. Submissions can be rejected if there are a large number of issues.
- Each time you check in code, it is automatically built by our build servers, but it is NOT automatically deployed. See the section titled Step 2 - Submitting A Request To Deploy/Certify A Connector below for information on deployment requests.
- Connectors can be submitted at any time, but are deployed in accordance with the activities listed in the next section titled Step 2 - Submitting A Request To Deploy/Certify A Connector.
- After receiving and reviewing your code, we may have feedback and ask you to make revisions. We are mutually responsible for being responsive in the time-frame between the submission and the release. We strive to deploy Connectors into the Marketplace within 10 business days from the date of submission, however if there is a delay in getting details or issues arise, your submission could be rejected.
- If you require a fee or permission for use of your Connector, provide a simple web form on your corporate site that prospects can complete to “request install” of a given Connector. This url should then be added to the manifest under Marketplace.
- Encrypted fields need to be identified so that our database knows which fields to encrypt. You do not need to provide the values your customers will enter.
- When a Connector is deployed, it needs to have all of its references available. Look at the reference section at the end of this document for a list of what is included.
- You need to include the specific DLLs you’ve created for the Connector.
- The relevant Newtonsoft.dll should be included. TIBCO Scribe® does not automatically include Newtonsoft.Json.dll because your Connector might require a specific version.
- The EntityFramework.dll, if used, should be included. TIBCO Scribe® does not automatically include EntityFramework.dll because it is possible you need a different version. This is an infrequent use case, but does happen from time to time.
- Your assembly, file, and version numbers need to match. On the first submission, this is straightforward. On subsequent submissions, you need to increase the version number for your assembly, file, and Connector versions even if they have not changed. Our build system expects them to be aligned.
Step 2 – Submitting A Request To Deploy/Certify A Connector
First, take a moment to complete the Manifest needed by our team to deploy your Connector. Note that errors or omissions in this file or the submission cause delays. However, our goal is to have the Connector deployed within 10 days of the request submission.
When you have completed the outline mentioned in the Step 1 section above, you are ready to submit the deploy/certification request to TIBCO Scribe®. To submit a request:
- Email scribeconnectordeploy@tibco.com and provide us with details about your company and what you want deployed. Include a copy of the manifest, logo, and other marketing or relevant details. Most importantly, indicate the name of the submission in GitLab and the version number.
IMPORTANT
- If you are not using any third-party components you must indicate in the email, otherwise your submission will need to include a EULA. See Step 1
- If you are using your own logo, or a freely distributed logo, please mention that in the email, otherwise you need to include a Logo Authorization. See Step 1
2. Once submitted, our goal is to certify and deploy the Connector in the Sandbox Marketplace within 10 business days.
3. We will notify you when your Connector has been deployed to Sandbox. You will then test and confirm that the connector has been deployed correctly; email
scribeconnectordeploy@tibco.com when you are satisfied with the Sandbox deployment.
4. We will then deploy your Connector to the Production Marketplace and notify you when the deployment is complete.
5. If we have questions or need assistance during this process, your timeliness in responding affects meeting the 10 day turn-around period.
Manifest Detail
The table and subsequent file shown below are an example of what is required in the Connector manifest/readme file.
Text File Contents | Description Of Data |
Requested Information Context Vendor Name: Scribe Software Corporation | Your company’s name as it should be listed in the TIBCO Scribe® Marketplace. |
Production Organization Number: AWS - 123 Azure - not requested | TIBCO Scribe® Distribution Organization #. The Distribution Organization “owns” the Connector. You can find this number in your distribution Organization by logging into the TIBCO Scribe® Online User Interface at https://app.scribesoft.com. Please provide the Distribution Organization number(s) for the environment(s) (AWS and/or Azure) for deployment. Please create a new account at this page if you do not already have one. |
Sandbox Organization Number: 456 | TIBCO Scribe® Distribution Organization #. The Distribution Organization “owns” the Connector. You can find this number in your distribution Organization by logging into the TIBCO Scribe® Online Sandbox User Interface at https://app-sandbox.scribesoft.com. Please create a new account at this page if you do not already have one. |
Connector Name: ACME Connector | Name that represents the Connector in the Marketplace. It is good to have a consumer-friendly name that indicates to the user which application is accessed by the Connector. Long names do not wrap, therefore, best practice is not to include your company name in the Connector name to keep the name as short as possible. Your company name displays separately. For example: ACME Connector NOT ACME Connector by MyCompany |
Version: 1.0.2 | File, Connector, and assembly versions must match. |
Cryptokey: 7A7859E5-B9B9-4E8F-9560-6EAB6DC3AA58 | Provide the cryptokey to support the upload of the Connector into the TIBCO Scribe® Marketplace. |
Protected Field: Password | Indicate which UI field(s) in your Connector are to be protected and encrypted; the field(s) should be the property name used in the code rather than the property label displayed in the UI. |
Link: http://www.scribesoft.com/scribe-labs/ | When someone clicks your Connector logo in the TIBCO Scribe® Marketplace, they go to this linked destination. This can be a marketing web page for the Connector OR your company’s home page, whichever you prefer. |
Marketplace: This is a FREE Connector. | Controls the icons displayed in the Marketplace. Options include: - Public/free
- Public/paid
- Public/request install
Most Connectors are listed as Public/free because Partners charge for the integration itself, not the integration and the Connector. If you decide it is a “paid/request install” Connector then you need a dedicated landing page with a form on it. This link/page is different from the one in the row above. NOTE: If your Connector has a fee associated with it, then a $ icon is added to the Marketplace. |
Cloud Agent: Does NOT Support Cloud Agents | Affects the icon displayed in the Marketplace. A cloud Connector works both cloud-to-cloud and on-premise-to-cloud. If the Cloud designation is set to support Cloud Agents, make sure the line SupportsCloud = true; is in the Connector code. |
Path: Scribelabs.Connector.Excel | The path should be in the following format: Company.Connector.ApplicationName |
Files: Excel.4.5.dll ICSharpCode.SharpZipLib.dll ScribeLabs.Connector.ExcelReader.dll | List (and submit to GitLab) all the *.dll’s required for the Connector to build. |
Sample File
Vendor Name:
Scribe Software Corporation
AWS Production Organization Number:
01150300
Azure Production - not requested
Sandbox Organization Number:
01150301
Connector Name:
ACME Connector
Version:
1.0.4
Cryptokey:
7A7859E5-B9B9-4E8F-0560-6EAB6DC3AA58-ZZZZZ
Protected Fields:
Password =!password$#
Link:
http://www.scribesoft.com/scribe-labs/
Marketplace:
This is a PUBLIC/FREE Connector.
Cloud Agent:
Does NOT Support Cloud Agents
Path:
ScribeLabs.Connector.Excel
Files:
Excel.4.5.dll
ICSharpCode.SharpZipLib.dll
ScribeLabs.Connector.ExcelReader.dll
Connector References
Some of the references are already a part of the Agent context in which they always run. The list here is essentially the list of dlls that are deployed on Agents. You can see the list on your locally deployed Agent:
- Microsoft.Azure.Services.AppAuthentication.dll
- Microsoft.Bcl.AsyncInterfaces.dll
- Microsoft.Bcl.HashCode.dll
- Microsoft.Data.SqlClient.dll
- Microsoft.Deployment.Compression.dll
- Microsoft.Deployment.Compression.Zip.dll
- Microsoft.EntityFrameworkCore.Abstractions.dll
- Microsoft.EntityFrameworkCore.dll
- Microsoft.EntityFrameworkCore.Proxies.dll
- Microsoft.EntityFrameworkCore.Relational.dll
- Microsoft.EntityFrameworkCore.SqlServer.dll
- Microsoft.Extensions.Caching.Abstractions.dll
- Microsoft.Extensions.Caching.Memory.dll
- Microsoft.Extensions.Configuration.Abstractions.dll
- Microsoft.Extensions.Configuration.Binder.dll
- Microsoft.Extensions.Configuration.dll
- Microsoft.Extensions.DependencyInjection.Abstractions.dll
- Microsoft.Extensions.DependencyInjection.dll
- Microsoft.Extensions.Logging.Abstractions.dll
- Microsoft.Extensions.Logging.dll
- Microsoft.Extensions.Options.dll
- Microsoft.Extensions.Primitives.dll
- Microsoft.IdentityModel.Clients.ActiveDirectory.dll
- Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll
- Microsoft.Practices.EnterpriseLibrary.Common.DLL
- Microsoft.Practices.EnterpriseLibrary.Data.DLL
- Microsoft.Practices.EnterpriseLibrary.Logging.Database.DLL
- Microsoft.Practices.EnterpriseLibrary.Logging.DLL
- Microsoft.Practices.EnterpriseLibrary.Validation.dll
- Microsoft.Practices.ServiceLocation.DLL
- Microsoft.Practices.Unity.Configuration.dll
- Microsoft.Practices.Unity.DLL
- Microsoft.Practices.Unity.Interception.DLL
- Microsoft.ServiceBus.dll
- Microsoft.WindowsAzure.ServiceRuntime.dll
- Microsoft.WindowsAzure.StorageClient.dll
- Scribe.Agent.CentralDataStore2.dll
- Scribe.Core.Access.DLL
- Scribe.Core.BusinessObjectServer.Shared.DLL
- Scribe.Core.BusinessObjectServer.Web.DLL
- Scribe.Core.CentralDataStore.Shared.dll
- Scribe.Core.Common.dll
- Scribe.Core.ConnectorApi.dll
- Scribe.Core.ProcessDefinitionApi.dll
- Scribe.Core.ProcessDefinitionFunctions.dll
- Scribe.Core.Processor.dll
- Scribe.Core.Resources.DLL
- Scribe.Core.Security.DLL
- Scribe.Core.Version.dll
- System.Buffers.dll
- System.Collections.Immutable.dll
- System.ComponentModel.Annotations.dll
- System.Data.dll
- System.Data.Entity.dll
- System.Diagnostics.DiagnosticSource.dll
- System.Memory.dll
- System.Numerics.Vectors.dll
- System.Private.CoreLib.dll
- System.Runtime.CompilerServices.Unsafe.dll
- System.Runtime.dll
- System.ServiceModel.DomainServices.Hosting.dll
- System.ServiceModel.DomainServices.Server.dll
- System.Text.Encodings.Web.dll
- System.Text.Json.dll
- System.Threading.Tasks.Extensions.dll
- System.ValueTuple.dll
- x86\SNI.dll
- x64\SNI.dll