Hello JiveMinds,

 

       We have come up with some solution for the ideas mentioned in the https://community.jivesoftware.com/ideas/4183 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

 

 

 

 

Features:

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.  

 

 

Logger:

  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.