Hi there!
Whether you are a single developer, a large team of experienced programmers, a customer or a partner, we are excited that you are creating a mod for the Spotfire® platform!
These guidelines are meant to help you provide the best experience with your mod and get through the review process quickly. We expect these to evolve to keep up with the needs of our users, developers and our product. If you have any feedback or suggestions, we'd love to hear from you.
A few points to keep in mind:
- Spotfire® is a software used by business professionals expecting the best visual analytics, business intelligence and data discovery experience. We are choosing what mod to publish based on our customers requirements. If you submit a mod that is just not on-purpose or not high quality enough, the Spotfire Community Exchange is not the best place to do that.
- If you attempt to break the rules your mod will be removed from the Spotfire Community Exchange.
- You are responsible for making sure your mod complies with the rules.
- Your mod should change and improve as well in order to stay on the Spotfire Community Exchange.
Before Submission
To help your mod approval go as smoothly as possible, review the common missteps below that can slow down the review process. If your mod no longer functions as intended or you are no longer actively supporting it, it will be removed from the Spotfire Community Exchange.
Make sure you:
- Test your mod for crashes and bugs.
- Ensure that all mod information and metadata is complete and accurate.
- Provide a Spotfire® demo file, plus any other resources that might be needed (e.g. sample data).
- Include detailed explanation of features including supporting documentation. View template
- Complete Mods Submission Checklist
1. Safety
When Spotfire users install a mod from the Spotfire Community Exchange, they want to feel confident that it is safe to do so. We just do not accept any sharing of users data and prevent any unauthorized use, disclosure or access by third-parties.
2. Performance
2.1. Mod completeness
Submissions to mod reviews should be final versions with all necessary metadata included. Placeholder text and other temporary content should be scrubbed before submission. Make sure your mod has been tested for bugs and stability before you submit it. Please do not treat mod reviews as a software testing service. We will reject incomplete mods that crash or exhibit obvious technical problems.
2.2. Accurate metadata
Spotfire® users should know what they are getting when they add your mod to their own Spotfire environment, so make sure your mod information (package.json) reflects the core experience and remember to keep it up to date with new versions.
2.2.1. Your mod version number schema should be as follow: <major>.<minor>.<bug fix>
- <major> = major release number beginning with 1. The number increments by 1 for each major release. The minor and bug fix numbers are set to 0 (e.g. 5.0.0).
- <minor> = minor release number beginning with 1. The number increments by 1 for each minor release. This number resets to 0 with each major release.
- <bug fix> = bug fix number beginning with 1. The number increments by 1 for each bug fix release. This number will reset to 0 with major and minor releases.
2.2.2. Your mod id must follow this convention: <org>-mods-<modname>
2.2.3. Do not include any hidden, dormant, or undocumented features in your mod; your mod's functionality should be clear to end-users and Spotfire. All new features, functionality, and changes must be described with specificity in the "Mod release notes" section of the mod submission form. We want to build a trustworthy ecosystem and Spotfire® users and Spotfire expect your mod to follow suit.
2.2.4. Make sure your mod is focused on Spotfire, and do not include names, icons, or imagery of other concurrent platforms in your mod or metadata. Do not include irrelevant information, including but not limited to information about the development process.
2.2.5. Your mod must clearly describe new features and product changes in the "Mod release notes" section of the mod submission form. Simple bug fixes, security updates, and performance improvements may rely on a generic description, but more significant changes must be listed.
2.2.6. Your mod should use third-party APIs and frameworks for their intended purposes and indicate dependencies in the mod description (package.json) and in the "Third-party components" section of the mod submission form.
2.3. Software requirements
2.3.1. Your mod may only use publicly documented Spotfire® Mods APIs.
2.3.2. Your mod must be localized in English.
2.3.3. Your mod must run on the current mainstream Spotfire® version. Keep your mod up-to-date and make sure you phase out any deprecated features or technologies that will no longer be supported in future versions of Spotfire®.
2.3.4. Your mod should be self-contained, and may not read or write data outside the designated container area, nor may it download, install, or execute code which introduces or changes features or functionality of the mod, including other mods.
2.3.5. Your mod should not claim access to more websites than strictly necessary to function.
2.3.6. Your mod must never include malicious or misleading content or code, or transmit viruses, files, computer code, or programs that may harm or disrupt the normal operation of the operating system and/or hardware features. Violating this rule will lead to removal from the Spotfire Community Exchange.
3. Minimum Functionality
Spotfire® customers place a high value on a product that is innovative, powerful and easy to use, and that is what we want to see with mods published on the Spotfire Community Exchange. Coming up with a great design is up to you, but the following are minimum standards for approval. And remember that even after your mod has been approved, you should update your mod to ensure it remains functional and engaging to new and existing customers. Mods that stop working or offer a degraded experience may be removed at any time. If your mod is not particularly useful, unique, or "Spotfire-like", it does not belong on the Spotfire Community Exchange. If your mod does not provide some sort of "analytics" value, it may not be accepted.
3.1. Data access
Your mod should not contain or use any "hard-coded" data but exclusively use data loaded in Spotfire® to deliver its function; including in-memory data, in-database data, streaming data and data on-demand. It should be tested against missing data, empty values and "dirty" data to handle these cases with care and at least show an error message in these situations.
3.2. Direct manipulation with instant feedback
Your mod should allow direct interaction with the visual representation of the data, with instant feedback to mold into insights, and through a consistent interaction model. Users should be able to:
- Configure the visualization properties like axes, color by, marking, size by, etc. by dragging and dropping data columns onto the mod and by interacting directly with it.
- Filter data using dynamic queries and have the mod instantly respond.
- Mark items in the mod and see corresponding items in other visualizations and vice versa.
- Use the mod to get an overview of data and show selected items in another visualization or vice versa.
3.3. Safe exploration
Your mod should support ad-hoc exploration through visual feedback. Actions should be reversible, and easily reviewed, so that the user feels brave enough to ask any question and still feel in control. It should be easy to apply your mod to new data. Specifically users should be able to:
- Undo and redo any change.
- Make a mistake when writing axis expressions (E.g. Remove an expression or write an invalid expression) and recover from it without any side effects, for instance by just showing nothing.
- Duplicate the mod and change the configuration.
- Switch from the mod to another visualization.
- Switch to the mod from another visualization.
- Bookmark the mod configuration and get back to it later.
- Export the mod as an individual visualization and include it in a pdf report.
- Annotate the mod.
- Start a conversation about data in the mod.
- If a custom property panel is used in your mod in order to expose additional configuration options, this panel must be accessible in Edit mode only.
3.4. Look & feel
Your mod should look and feel like a standard Spotfire® visualization and follow the visual theme of the rest of the Spotfire® application. This includes supporting custom themes with custom coloring, sizing and fonts. We encourage the use of native properties to configure your mod and discourage the use of custom user interfaces for properties. Mods that require the use of code to configure properties will be rejected.
4. Legal
Mods must comply with all legal requirements. It is your responsibility to understand and make sure your mod conforms with all local laws, not just the rules below.
4.1. Privacy
Protecting user privacy is paramount to the Spotfire ecosystem. Mods released on the Spotfire Community Exchange are held to a high standard for privacy, security, and content because nothing is more important than maintaining users' trust. You are required to avoid any data collection practice from your mod; including any third-party code or component your mod may use. You are responsible for all code included in your mod, including functionalities provided by third parties. If you are unsure about the data collection and tracking practices of code used in your mod you did not write, we suggest contacting the developer of that code. You are responsible for keeping your responses accurate and up-to-date. Data used by your mod must not be shared with third-parties in any ways. Mods that share users data will be removed from the Spotfire Community Exchange.
4.2. Intellectual property
Your mod should not use protected third-party materials such as trademarks, copyrighted works, or patented ideas without permission, and must not include misleading, false, or copycat representations, names, or metadata. You are responsible for securing the rights to use all materials in your mod such as the mod icon. For information about creating an icon for a mod, see this tutorial.
4.3. Code of conduct
Customer trust is the cornerstone of the Spotfire Community Exchange success. Please treat everyone with respect in your responses to reviews or support requests. Keep your responses targeted to the users? comments and do not include personal information, spam or marketing in your responses.
4.4 Third-party code
Your mod may contain third-party components, code and other elements. Each third-party component must be listed and declared in the mod description (package.json) and in the "Third-party components" section of the mod submission form for approval by Spotfire 's legal counsel. We recommend using third-party components, code and other elements with the following licenses: MIT License, 3-Clause BSD License, Apache License. Any GPL-related license type is to be avoided.
After Submission
Timing
We will examine your mod submission as soon as we can. It will go through a number of steps including names approval, code scan, third-party components approvals and license generation. If your mod is complex, presents issues or embed third-party components, it may require greater consideration. It will take few weeks to release your mod on the Spotfire Community Exchange.
Status updates
We will inform you directly by email of the status and next steps.
Rejections
We will inform your directly about the reason(s) for rejection and provide guidance to resolve the issue(s).
After Publication
Maintaining your mod
After your mod is released on the Spotfire Community Exchange, you are responsible for maintaining compatibility of the mod with new releases of Spotfire® and read and respond to users' reviews in the mod's Exchange page. If your mod is found to be not working with the latest mainstream, we can decide to remove your mod from the Spotfire Community Exchange.
Updating a mod
Submitting an update for your mod to add new features, enhancements or to fix bugs is much faster than submitting a new mod if this update does not include new third-party components. To submit a mod update, fill out the mod submission form.
Removing a mod
You can remove your mod from the Spotfire Community Exchange at any time by contacting Arnaud Varin (arnaud.varin@cloud.com). If you remove your mod you will loose ownership of the mod name. Removed mods can only be restored if the name is not currently in use by another mod developer.
Contact
We further recognize that these guidelines must continually evolve, so please do contact us with comments.
Thank you for reading, and for helping us build an amazing catalog of mods! We're excited to see what you come up with next!
Recommended Comments
There are no comments to display.