Skip navigation

Jive Developers

2 Posts authored by: siddhartha107

Hello JiveMinds,


We ,at ThoughtWorks, have created the custom view tiles and like to share the learnings/implementations of the same.


We have used Tiles feature of the Jive to make sure the information is shared in an intuitive graphical way.


This particular tile is called 'Featured Items with Images'. The intent behind designing this tile is to share the important links in graphical blocks with intuitive background images.


More on the this tile:



1. Add items with according background images to make more intuitive info out of it.

Screen Shot 2016-06-06 at 12.01.28 pm.png


2. Once you configure the tile with items and images; visit the view of the same.


Screen Shot 2016-06-06 at 9.42.21 am.png

3. You can reorder the elements of the tile with drag and drop feature.

Screen Shot 2016-06-06 at 12.06.29 pm.png

4. You can delete the items using the respective row trash icon.



Tech Stack:

We have built the feature using React.


The tile-code is open sourced under AGPL.

The git-hub url of the codeGitHub - ThoughtWorksInc/tw-featured-grid-tile



Some of the useful links that would help to understand more on tiles:

What are Tiles:

Building custom tiles:


A JavaScript library for building user interfaces | React


cc: Ryan Rutan, Rashed Talukder, kim.nelson,




Hello JiveMinds,


       We have come up with some solution for the ideas mentioned in the post. The solution that we have designed contains:

1. Bulk Content Move

2. Bulk Content Deletion

3. Bulk Apply Tags

4. Bulk Apply Categories

The app is called 'Content Manager'


        The idea came up as we were getting requests for getting some way to perform multiple operations like moving the content/s, deleting in bulk as deleting content one by one is tedious. Plus categorising content with specific categories and tags makes easy to search and manage. To facilitate the common platform for doing all these operations, we came with a solution - Content Manager.

        I will explain the features that we have developed so that it will easy to understand the functionality and use case.



All about app:

This app is being designed for groups and spaces meaning it will appear on Group's/Space's tab section.

Before doing any operation user need to select the content and for that we have designed the tabular format to ease up the selection process, it includes:

Content Types: As you can see, the table contains content of various types. But if user wants to perform specific operation on specific content, he/she can select the content type from the 'Content Types Dropdown'

Screen Shot 2015-09-29 at 10.11.19 pm.png




Show All/Owned Content: There can be situation where user wants to apply metadata or update the contents that are owned by him/her. In that case user can select the Show only my content else can continue with show all content otherwise.

Screen Shot 2015-09-29 at 10.15.56 pm.png




Filtering Criteria: The user can filter out the content based on various parameters like Last activity, Created first etc.

Screen Shot 2015-09-29 at 10.19.11 pm.png






1. Bulk Content Move:

  This feature transfers the selected content from source group to selected destination group.

Steps followed to perform the same operation:

1. Select the content to be moved from the table

2. Select the target place from the place picker that will be invoked once you click on move content icon.

3. Once the content and target place selected the conformation will be needed before proceeding :

Screen Shot 2015-09-29 at 10.23.57 pm.png


4. Once you confirm the move, the selected content will be moved to selected place. Following view will be displayed:

Screen Shot 2015-09-30 at 10.54.02 am.png


Selected content has been moved and highlighted with green. If at all for some reason, move fails the corresponding row will be highlighted in red colour with error message.

What do we do at the backend?

Screen Shot 2015-09-30 at 11.01.43 am.png




2. Bulk Content Deletion:

   This feature deletes the selected content.

Steps followed to perform the same operation:

1. Select the content to be deleted from the table

2. Once selected click on delete icon which would ask for deletion confirmation:

Screen Shot 2015-09-29 at 10.27.54 pm.png


3. Clicking on Delete button will delete the content.

What do we do at the backend?

Screen Shot 2015-09-30 at 11.03.22 am.png





3. Bulk Apply Tags:

       User can update the content by applying tags. This features suggests related tags to the entered tag once you enter 3 letters in the tag area.

Steps followed to perform the same operation:

1. Select the content to be updated with tags.

2. Click on tags icon which would show:

Screen Shot 2015-09-29 at 10.33.49 pm.png


3. Once the tags to be applied on the content, click on 'Add Tags' button.

What do we do at the backend?

Screen Shot 2015-09-30 at 11.04.24 am.png




4. Bulk Apply Categories:

     User can categorise content. This features displays categories available on the group.

Steps followed to perform the same operation:

1. Select the content to be updated with tags.

2. Click on categories icon which would show:

Screen Shot 2015-09-29 at 10.36.55 pm.png


3. Content will be updated with selected categories once 'Update Categories' button clicked.

What do we do at the backend?

Screen Shot 2015-09-30 at 11.05.37 am.png






This is the service side code snippet which does all magic (updating):

Screen Shot 2015-09-30 at 11.07.15 am.png



Access Levels:

   SuperAdmins: Super-admins have access to all the content of all the groups.

   Group Admins: Group Admins have access to all content to the group he owns.

   Normal User: Normal user will see only his content.

   Group Admins/Normal Users can move the content to the groups which they have access to.  




  We have added logger to log all the operations which includes: operation done, group name, successIds, failureIds, User Id, Time etc




Code structure:

Screen Shot 2015-10-01 at 4.20.51 pm.png


                  As you can see in above image, the app is divided into various features. ContentManager is the parent class and other classes define the various features. We have added helper classes which take care of validation or views. JiveWrapper is the wrapper written over jive core apis, which helps to use them in customised manner.


This is how we have designed the app.

Please find the code under : siddharthadeshpande89/jive-content-manager · GitHub

This is an open source version licensed under AGPL.

Filter Blog

By date: By tag: