This project contains both the Connected System Plugin (backend) and Component Plugin (frontend) for Rich Text functionality in Appian.
.
├── src/ # Connected System Plugin (Backend)
│ ├── main/
│ │ ├── java/
│ │ │ └── com/appian/richtext/templates/
│ │ │ ├── RichTextCSP.java
│ │ │ └── ImageStorageClientApi.java
│ │ └── resources/
│ │ ├── appian-plugin.xml
│ │ ├── resources_*.properties
│ │ └── META-INF/
│ └── test/
├── component-plugin/ # Component Plugin (Frontend)
│ ├── richTextField/ # Rich Text Field component
│ ├── richTextFieldWithTables/ # Rich Text Field with Tables component
│ ├── appian-component-plugin.xml
│ ├── BUILD_README.md # Component build instructions
│ └── package.json
├── lib/
│ └── appian-plug-in-sdk.jar
├── resources/ # Original files
│ ├── com.appian.richtext.csp_1.3.0.jar
│ └── com.appian.richtext_1.16.0.zip
├── build.gradle
├── settings.gradle
└── README.md
- Location:
src/directory - Purpose: Provides backend functionality for image storage and rich text processing
- Build: Use Gradle (
./gradlew build) - Output:
build/libs/com.appian.richtext.csp-1.3.0.jar
- Location:
component-plugin/directory - Purpose: Provides rich text editor UI components for Appian interfaces
- Components:
richTextField- Basic rich text editor using Quill.jsrichTextFieldWithTables- Advanced rich text editor with tables using Summernote
- Build: Use sail-tools (see
component-plugin/BUILD_README.md)
To build both the Connected System Plugin and Component Plugin in one command:
./gradlew buildAllThis will:
- Clean any previous builds
- Build the Connected System Plugin (backend JAR)
- Build the Component Plugin (frontend ZIP)
- Place both artifacts in the
dist/directory - Clean up all intermediate build artifacts
- Display deployment instructions
./gradlew buildTo create just the JAR file:
./gradlew jar./gradlew buildComponentPluginbuildAll- Build both plugins and place in dist/ directorybuildComponentPlugin- Build only the component plugincopyConnectedSystemPlugin- Copy the JAR to dist/ directorycleanDist- Clean the distribution directory
After running ./gradlew buildAll, you'll find the deployment artifacts in:
dist/com.appian.richtext.csp-1.3.0.jar- Connected System Plugindist/ComponentPlugin_Rich_Text_v1.16.0.zip- Component Plugin
- Java 11 or higher
- Gradle 7.0 or higher
- Appian Connected Systems Core SDK 1.9.1 (configured in build.gradle)
- Appian Plugin SDK (provided as appian-plug-in-sdk.jar)
- Node.js 14 or higher
- npm 6.0 or higher
- sail-tools CLI
- Appian Connected Systems Core SDK 1.9.1: Provides the Connected Systems Template Framework
- Appian Plugin SDK: Local JAR file providing additional Appian platform classes
- Connected Systems Client 1.1.0: Included in META-INF/lib for simplified SDK support
- Quill.js: Rich text editor library for richTextField component
- Summernote: Rich text editor library for richTextFieldWithTables component
- Bootstrap: UI framework for styling
- jQuery: JavaScript library for DOM manipulation
- Build the JAR:
./gradlew build - Deploy
build/libs/com.appian.richtext.csp-1.3.0.jarto your Appian environment - Configure the Connected System in Appian Admin Console
- Build the ZIP:
cd component-plugin && sail-tools build - Deploy the generated ZIP file to your Appian environment
- Import the component plugin via Admin Console
- Components will be available as
fn!richTextFieldandfn!richTextFieldWithTables
✅ Connected System Plugin: Successfully configured and building! ✅ Component Plugin: Extracted and ready for development!
Both plugins compile successfully and generate proper deployment packages.
Once both plugins are deployed:
- Configure Connected System: Set up the Rich Text Connected System for image storage
- Use Components: Add rich text components to your Appian interfaces:
fn!richTextField( label: "Rich Text Field", richTextValue: ri!value, richTextSaveInto: ri!value, imageStorageConnectedSystem: cons!RICH_TEXT_CS )
The original JAR and ZIP files have been moved to the resources/ directory for reference:
resources/com.appian.richtext.csp_1.3.0.jar- Original Connected System plugin JARresources/com.appian.richtext_1.16.0.zip- Original Component plugin files