39 Replies Latest reply on Jun 13, 2013 10:44 AM by mnevill

    Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature

    Ryan Rutan

       

      Basically, for the users of confluence, a feature that I think is mighty nice is to be able to tag a document without having to edit the document.  An inline context of tag editing that is separate from content editing would be preferential for the fly-by content viewer willing to spend a fractional amount of time to add a tag to the document he/she may be viewing.

       

       

      This of course would also include for all Jive Content Types.  Not sure whether or not this would entail a new permission, but the use of browsing and tagging on the fly would be great.

       

       

      One step further, perhaps on a search result (barring permissions), I could select all documents that meet the query and tag them with a set of tags?  This may be a feature for Space Admins, but just thought I'd throw it out there.  =)

       

       

        • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature

          +1 

           

          This is very important in large external communities.  Allow others to tag your content (especially media content like pictures of vidoes) is great for search engine optimization and categorization but you might not want to let them edit your document.  This of course comes with the burden of a few admin features like reject this tag and flag this tag but the benefit of less friction (e.g. allowing community to tag w/out giving them document edit rights) is pretty high.

          • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature

            +1, we definitely would like to add this to both products.

              • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature
                Ryan Rutan

                Do we know if there is any update on this feature?  Was wondering if in all the 2.1 "goodness" if this level of tagging could be done.   As stated previously, we are getting more requests to have other community members help users tag content with relevant information.  If we look at all the features around slicing/dicing with tags, this is pretty much negated when there are no tags to slice and dice by..currently anyone wanting to update has to be able to moderate content from the entire community, and I'm not sure I'm down with opening up Moderate content to the entire community...that just sounds wrong.  (Or am I wrong in assuming that)?  Any thoughts on when this will come out...a nice clean interface that's AJAXIAN would be awesome.......

                 

                maybe even a "Ctrl-Click" or "Highlight-Click" Sequence on a word in the post to add a tag....getting ahead of myself a bit...but you can see where my end users are going with this...fast, easy, and for everyone.  Not sure if it would be necessary to allow the content creator/admins to be able to remove tags..as opposed to everyone....personally I like the idea of community owned. =)

              • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature

                 

                Another great idea, Ryan!  This would be really helpful and encourage more users to be involved at a low-level. I know an engineer that has developed a software program to help him tag content in Lithium discussion forums.  It allows him to actively contribute to the community without having to spend a lot of time editing or conversing.  It has been a huge help, and I think this feature would benefit a lot of communities.

                 

                 

                 

                 

                 

                • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature
                  AmandaS

                  Just wanted to add another +1.  We've love to have this feature too.  We think many users in our system are not adding tags because of the Edit step.

                      • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature
                        Ryan Rutan

                        Any word on this idea?  I know that many people are salivating at being able to do something like this?  Before I contemplate writing a plugin to do it, I would like to make sure that this isn't due in the product for 3.0 or a 3.0.x release.  Thanks for any information you can provide. =)

                          • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature
                            AmandaS

                            Hi -

                             

                            I've never heard any potential release date for this feature.  We really want to see this as well as we think the need to go into Edit mode is preventing people from tagging.

                              • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature
                                Ryan Rutan

                                I have a proto-type of this functionality done, and it works.  I've implemented it currently as an inline action execution similar to "Ratings".  It looks as though this feature to polish out would be extremely easy to put together.  In the end, I would like to see it be more in-context in the "Tag" box...but this version works just the same.  Could you help me understand Jive's perspective on this issue on what might be bumping this feature so far down the release train?

                                 

                                Here's the Struts Action,

                                public class InlineTagEditAction extends JiveActionSupport {
                                
                                private String m_newTags;
                                 private String m_removeTag;
                                 private TagManager m_tagManager;
                                 private DocumentManager m_documentManager;
                                 private JiveContentObject m_jiveObject;
                                 private long m_objectId;
                                 private int m_objectType;
                                
                                 public void setTagManager(TagManager tagManager) {
                                 m_tagManager = tagManager;
                                 } // end setTagManager - SPRING INJECTED
                                
                                 public void setDocumentManager(DocumentManager documentManager) {
                                 m_documentManager = documentManager;
                                 } // end setDocumentManager - SPRING INJECTED
                                
                                 public String input() {
                                 if (getObjectType() == JiveConstants.DOCUMENT) {
                                 try {
                                 m_jiveObject = m_documentManager.getDocument(getObjectId());
                                 return SUCCESS;
                                 } catch (DocumentObjectNotFoundException donfe) {
                                 Log.error("Unable to find Document",donfe);
                                 } catch (UnauthorizedException ue) {
                                 Log.error("Unable to access Document",ue);
                                 } // end try/catch
                                 } // end if
                                
                                 return ERROR;
                                 } // end input
                                
                                 public String execute() {
                                 if (SUCCESS.equals(input())) {
                                 String[] newTags = getNewTags().split(" "); //TODO: ADD REGEX MATCHING FOR ALL WHITESPACES
                                 if (newTags != null) {
                                 for (String tag : newTags) {
                                 tag = tag.trim();
                                 if (tag.length() > 0) {
                                 ContentTag theTag = null;
                                 try {
                                 theTag = m_tagManager.getTag(tag);
                                 } catch (TagObjectNotFoundException tonfe) {
                                 theTag = m_tagManager.createTag(tag);
                                 } // end try/catch
                                 m_tagManager.addTag(theTag,m_jiveObject);
                                 if (Log.isDebugEnabled()) { Log.debug("Successfully Updated Tag"); }
                                 } // end if
                                 } // end for tag
                                 } // end if
                                
                                 if (getRemoveTag() != null && getRemoveTag().trim().length() > 0) {
                                 ContentTag theTag = null;
                                 try {
                                 theTag = m_tagManager.getTag(getRemoveTag().toLowerCase().trim());
                                 m_tagManager.removeTag(theTag,m_jiveObject);
                                 if (Log.isDebugEnabled()) { Log.debug("Successfully Removed Tag"); }
                                 } catch (TagObjectNotFoundException tonfe) {
                                 if (Log.isDebugEnabled()) { Log.debug("Unable to Locate this tag"); }
                                 } // end try/catch
                                 } // end if
                                
                                 //**** SO THE URL CAN BE REDIRECTED ****/
                                 ActionContext.getContext().getValueStack().setValue("objectURL",JiveResourceResolver.getJiveObjectURL(m_jiveObject));
                                 } // end if
                                 //TODO: REEVAL RETURN RESULTS
                                 return SUCCESS;
                                 } // end execute
                                
                                 public JiveIterator<ContentTag> getObjectTags() { return m_tagManager.getTags(m_jiveObject); }
                                
                                 public String getNewTags() { return (m_newTags != null) ? m_newTags.toLowerCase() : ""; }
                                 public void setNewTags(String newTags) {
                                 m_newTags = newTags;
                                 } // end get/setNewTags
                                
                                 public String getRemoveTag() { return m_removeTag; }
                                 public void setRemoveTag(String removeTag) {
                                 m_removeTag = removeTag;
                                 } // end get/setRemoveTag
                                
                                 public long getObjectId() { return m_objectId; }
                                 public void setObjectId(String objectId) {
                                 m_objectId = Long.parseLong(objectId); //TODO: BULLETPROOF
                                 } // end setObjectId
                                
                                 public int getObjectType() { return m_objectType; }
                                 public void setObjectType(String objectType) {
                                 m_objectType = Integer.parseInt(objectType); //TODO: BULLETPROOF
                                 } // end setObjectType
                                
                                } // end class
                                

                                 

                                Here's the FTL Snippet, (granted this is only for documents)

                                <#--
                                 HOW TO: EMBED
                                     <@s.action name="inline-tag-edit" executeResult="true" ignoreContextParams="true">
                                         <@s.param name="objectId">${document.ID?c}</@s.param>
                                         <@s.param name="objectType">${document.objectType}</@s.param>
                                     </@s.action>
                                -->
                                
                                <!-- BEGIN Inline Tagging -->
                                <div class="jive-sidebar">
                                    <div class="jive-sidebar-body">
                                     <h4><@s.text name='ni.inline.tag.edit.gtitle'/></h4>
                                     <form action="<@s.url value='/inline-tag-edit.jspa'/>" method="post">
                                     <input type="hidden" name="objectId" value="${objectId?c}"/>
                                     <input type="hidden" name="objectType" value="${objectType}"/>
                                     <div>
                                     <input type="text" id="newTags" name="newTags" value="" style="width: 75%;"/>
                                 <input type="submit" name="theAction" value="Add" style="width: 20%;">
                                     </div>
                                     <div>
                                     <#if objectTags?exists>
                                     <select name="removeTag" size="1">
                                     <option value="">-------</option>
                                     <#list objectTags as theTag>
                                    <option value="${theTag.name}">${theTag.name}</option>
                                     </#list>
                                     </select>
                                     <input type="submit" name="theAction" value="Remove">
                                     </#if>
                                     </div>
                                     </form>
                                    </div>
                                </div>
                                <!-- END Inline Tagging -->
                                

                                 

                                and here is the Struts definition,

                                <action name="inline-tag-show" class="xxx.InlineTagEditAction" method="input">
                                 <result name="error">/plugins/xxx/resources/error.ftl</result>
                                 <result name="success">/plugins/xxx/resources/actions/inline-tag-edit.ftl</result>
                                 </action>
                                 <action name="inline-tag-edit" class="xxx.InlineTagEditAction">
                                 <result name="error">/plugins/xxx/resources/error.ftl</result>
                                 <result name="success" type="redirect">${objectURL}</result>
                                 </action>
                                

                                 

                                Granted, in the end-result phase, this would need to be more bullet-proofed and most likely AJAX based where we could simply return a result-type when the tags are added/removed...which I've seen this used elsewhere in the Clearspace Struts configuration.  But the APIs appear to be there and working fine...so I'd like to understand what the disconnect is for such an EASY and POWERFUL feature to not be developed into the platform.

                                 

                                If needs be, I will polish this up and release as a plugin....however, to be the ideal scenario, we would need to override the /template/docs/presenter/presenter-tags.ftl file to put the UI in the ideal location, which to my knowledge is not doable via a plugin.

                                 

                                Thoughts, comments?  Definitely would like to keep this feature moving along and in the vision of a near-term product release, if not 3.0 then maybe 3.0.x candidate?

                                  • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature
                                    Ryan Rutan

                                    Any update on this? Just wanted to make sure this didn't get lost in the holiday shuffle. =)

                                    • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature
                                      Ryan Rutan

                                      We've finished this customization, and it will be rolling out in March on our site.  I'd make it a plugin; however, we had to alter the /template/docs/presenter/presenter-tags.ftl, as well as the FTLs for threads/blog posts.  So it's not fully a plugin.  Would like to provide this code to Jive to include in 3.0....if that is at all possible, as I think this is something that will benefit the community at large.

                                       

                                      Features:

                                      • Type-ahead autocomplete (similar to doc editing) while typing tags
                                      • Tag delimiting by space or comma
                                      • Simple HTML input field floated right in the Tags box
                                        • All modifications are blocked and can be easily added to existing templates.
                                      • AJAX style confirmation of tag additions
                                      • JQuery updates of DOM to reflect new tags on page, without page reload

                                       

                                      Let me know people....will work on bundling the code/modifications into this thread or where ever it seems fit.

                            • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature
                              Ryan Rutan

                              Here are some screenshots of our current implementation with some features:

                               

                              • Tag autocomplete
                              • Tag any taggable object type, Blog, Thread, Document, ...
                              • Multiple Tags added at once (space or comma delimited)
                              • Auto-update of visible Tag List without page refresh (AJAX)
                                • Mild JS differences per content type, that have been interfaced away into a once "success", call a standard JS named function on that page, that defines how to update the displayed Tag List with the new Tags.
                              • Clean error handling when Tagging fails for unknown reason.
                              • Clean HTTP Header manipulation for success/fail distinction, that is simple for JS to interpret

                               

                              Screenshots:

                               

                              1.) Very basic UI in the presenter-tags.ftl that has some form elements, some JS, that construct an AJAX call to a custom Struts2 action.
                              Picture 7.png

                              2.) Start typing, and the standard Jive Autocomplete kicks in...

                              Picture 8.png

                              3.) If you want you can add multiple tags, comma delimited...

                              Picture 10.png

                              4.) Tags are auto-updated into the tag-list in the HTML DOM when Successful.

                              Picture 11.png

                               

                              Hope this is something we can see in the product soon, please let me know if you'd like a copy of the final source code.

                                • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature

                                  rrutan,

                                   

                                  Your implementation of this feature is excellent. We would like to extend our Clearspace instance to have this same feature. I gather requirements for my community owner so I am not very technicaly. If you could post the code or work out a way to share your accomplishment with us, we would love to leverage it -- I'll let our techincal team know about this extension.

                                   

                                  Thanks

                                  Sharmil

                                  • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature
                                    cflanagan17

                                    A BIG +1 on this requirement. It should be core to 'tagging'. Users should not have to go into Edit mode to modify or add tags. (Confluence allows you to do this without being in edit mode.)

                                     

                                    I like what rrutan displayed.

                                     

                                    So Jive? When is this going in the product?

                                      • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature
                                        Ryan Rutan

                                        That's where we got the idea....right now this feature is working out well for us.  We noticed a 10x increase in tagging in the 1st month...and its still growing.  One thought that we considered to make it more universal across the platform for all taggable types to create a treatment that works for all content.  For example, Threads do not have the same type of Tag output as Documents...or Groups...it would be nice if there was a floating element on every page...possibly in the gutter that shows up that has this functionality.

                                         

                                        With the ability to add new content-types (that are taggable)....it makes sense for the platform to own this unified tagging experience.  At least from our perspective.

                                         

                                        Jive any thoughts on this matter?

                                          • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature

                                            Ryan, apologies for our absence from this thread. I don't know why I wasn't being notified about it.

                                             

                                            Your implementation looks fantastic, and it is great to hear that it has increased tagging volume so much. These improvements are not slated for our next release, but we did look at them during the planning phase and will do so again when we plan the subsequent release.

                                             

                                            One idea that has come up internally is whether having bookmarks is a different way to solve this problem. Clearly the user interaction is different, and bookmarks don't so much invite tagging as they invite individual references (with tagging). What do you think? Is this a reasonable direction, or should we be considering this feature as unrelated to bookmarks?

                                              • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature
                                                Ryan Rutan

                                                Greg,

                                                 

                                                In my opinion, I would say that Tagging and Bookmarks are 2 completely separate things.  Tagging has to do with the organization / slicing & dicing of content as well as content discovery; while, bookmarks do a great job at content discovery...I'd say they are relative bad for doing organization of data. Some use-cases that I know we have that Tagging facilitates, where I would assume Bookmarks (as I've seen them thus far) would be hard pressed to solve the problem.

                                                 

                                                - Retrieval of a subset of content objects in a given container (in UI and/or via APIs)

                                                - Floating Content into a Tag Group (the current UI design) is 100% Tag centric on the primary content element

                                                - Quick-Hit satisfaction.  As-is, bookmarks are nice, but they aren't necessarily quick when in the UI...compared to a type-ahead tag search/show.

                                                 

                                                That being said, if Bookmarks were attributable to a given container and not just the global system container...then I think the perceived gap would drop a bit....but overall...given that Social Tags are so pervasive, there is a Social media norm established that people expect...and being able to do tagging as a form of content contribution is just as valuable as the content itself.

                                                 

                                                If Jive were to give this a nod, one idea that would be logical to facilitate would be an activity event that shows "PERSON tagged CONTENT in CONTAINER with TAG".  This helps drive the presence of Tags and their use for dashboard configurations (filter by Tags etc...).

                                                 

                                                Thanks again for following up on this....I'm sure others in the community are willing and able to provide their insights as well. =)

                                                • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature
                                                  Ted Hopton

                                                  I'm with Ryan (as usual) on this. Still, I will try pushing the use of tagged bookmarks in the interim, as there might be benefits there, as you suggested, Greg.

                                            • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature

                                              Hi rrutan,

                                              Cool feature! May I get your input on a few questions?

                                               

                                              • Have you run into the need to edit tag entries (e.g., if a user enters a tag on the fly and then realizes it is misspelled or incorrect, is there recourse to correct it)?
                                              • Are you separating Author Tag vs. Viewer Tag functionality, or are you combining all tags (per individual piece of content)?
                                                • If combining, have you identified any conflicts with viewer vs. author tags?
                                              • Have you built in a global enable/disable property or administration to turn community tagging on or off?
                                                • If so, is the configuration on a local resolution (per space, social group, etc.) or is it global-only?
                                                • If so, do you have permissions set to individual users / admins / community managers?
                                              • If you built this feature again today knowing what you know, is there anything you'd change with your implementation?

                                               

                                              Thanks much!

                                              /z

                                                • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature
                                                  Ryan Rutan

                                                  Jason,

                                                   

                                                  Thanks for your questions....here you go.

                                                   

                                                  1.)  Editing Tag entries, we have run into the need for that....however, given that we are more concerned with having more tags...than the "right" tags...we kept the UI simple; albeit, the service allows for functionality to remove tags as well.  Call me lazy, but UIs really are not my thing. Besides, in the event someone "miss-tagged" it...they can just add the right tag on it.  Eventually, it'll get cleaned up....whether by the user adding the tag...or by a moderator doing cleanup.  In the end, the need to do inline removes and/or manipulation...is definitely ideal.

                                                   

                                                  2.) There is a global disable property to turn it on/off...as everyone of our containers wants this feature.  Having a system default, with a per group override would be ideal; out of just configuration basis...however, in our cases, we would have this turned on for every container and content-type.

                                                   

                                                  3.) The only permissions we created were that a user had to be logged in to access the feature and the ability to "Edit the Document/Thread" etc...if they had those permissions, they were allowed the UI additions to do the "fly-by-tagging"... and the service did a double-check as well to make sure someone wasn't jacking with the URL.

                                                   

                                                  4.)  What would I do differently, primarily, I would have tried to abstract the jQuery stuff a bit more.  We developed the initial service to work with any JiveObject; however, the jQuery was built based off the Document Tags DOM ... that was not ideal...however, it was only supposed to be for Documents...and then it grew some-more.  What you mentioned regarding their tags vs. your tags, was thought up at one point to have a concept called a "Protected Tag", which was a way for the Author to lock in their tags...and not allow them to be removed...allowing others to free-reign add/edit the others.  While this would be a great add-on to this feature ... I do not see it as being essential.  I am happy to discuss this further.

                                                   

                                                  Also, as a side note, I would have liked to have had this implemented 100% as a plugin.  As it is, I have to manipulate theme FTLs to make this work...and that's less than ideal.

                                                   

                                                  Let me know if you'd like any more feedback...and thanks for asking. =)

                                                   

                                                  RR

                                                    • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature

                                                      Great! Thanks Ryan, very helpful. I'm taking you up on the offer for more feedback...

                                                       

                                                      The only permissions we created were that a user had to be logged in to access the feature and the ability to "Edit the Document/Thread" etc...if they had those permissions, they were allowed the UI additions to do the "fly-by-tagging"

                                                      Do you keep your community pretty open? Are the odds that a user would or wouldn't have authorship rights for a doc they run across? I realize this may be an oversimplification.

                                                       

                                                      ...we are more concerned with having more tags...than the "right" tags...

                                                      Would it be too sketchy to allow anyone who is logged in and can see the doc to add tags, even if they have no authorship rights? Is the barrier to opening it up (to all authenticated members) tag inundation, or potential abuse, or "uninformed" tagging? All of the above?

                                                       

                                                      ...this feature is working out well for us.  We noticed a 10x increase in tagging in the 1st month...

                                                      Nice! I imagine content is more findable; any unexpected downsides?

                                                       

                                                       

                                                      It's a great feature, and I'd like to have a grasp of it in it's most useful form to Jive customers. I appreciate the input.

                                                        • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature
                                                          Ryan Rutan

                                                          Jason,

                                                           

                                                          When it comes to "containers", I would say that Yes...the containers are usually pretty open.  Once a user (Registered User) is inside a container, they are pretty much able to do the standard Create/Edit on the allowed content-types.  For the spaces that are "locked", we usually have View Only enabled for most users....which when the document is being viewed...they do not have "Edit" rights, so the tagging option is not available for them...so it implicitly obeys a container specific model (rather than per document).


                                                          I dont think that would be a problem, I think the biggest part of us tying it to the Edit behavior, was that if we wanted to revoke a group of people...we would have the ability to do so in the Admin console.  Without binding this feature to something, it would be globally on or off...and in general..I like shades of grey.  But in the 6 months+ plus we've had this feature enabled on our site, not once have I been forced to use it.  I would see no problem (for our users), if the assumption is "If you can see it, you can tag it".

                                                           

                                                          Now what might be nice to give the owner some protection, perhaps the "edit" check for the document is done to be able to remove tags?  This would allow them to protect their keywords, such that their widgets and what not would find the content as intended, but would allow others to dropship their tags onto the document for their own personal means.  Thoughts?


                                                          The biggest downside to this feature that we saw was that we only did it for Documents, which meant we had to customize an FTL...then they wanted it for Discussion Threads...that was another FTL...and Blogs are only a heartbeat away at this point.  =) We were going to get rid of the "type-a-head" now that I think of it, because it didn't seem that useful...suggested tags seemed to be pretty stale ... and this was our biggest concern...opening up that Remote call to be invoked much more often than intended...but no negative affects (that I know of, which says a bit).  The thing that is the most important is the post JS update of the Tag region...meaning once you click add tag.  It wasn't enough to say "Tags successfully added" in a fader window...they wanted to see the tags in the DOM...without a refresh...something worth noting from our users.

                                                           

                                                          Appreciate you taking the time to dive-deep on this feature...our users are super excited you guys have started asking about it! =)

                                                           

                                                          Just let me know.

                                                          RR

                                                            • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature

                                                              Awesome, thanks for the feedback.

                                                               

                                                              Now what might be nice is to give the owner some protection, perhaps the "edit" check for the document is done to be able to remove tags?  ...  Thoughts?

                                                              This is something I was thinking through too. In fact, this is how I had originally arrived at keeping author tags and viewer tags distinctly separate.

                                                               

                                                              One approach is to allow both authors and viewers to tag content, but only edit or delete the tags that they add. If I'm a viewer reading a discussion and I decide to add a tag, I can do so. Later, returning to that discussion to read and post additional replies, I can add more tags...but for me the tag input field is populated with only those tags I had previously added (giving me the option to edit/delete them or add more). Co-authors would still have the ability to edit all author-added tags; the social contract in place there seems to be sufficient.

                                                               

                                                              This is akin to exposing the tag field found in Edit mode (which contains all added tags, with the option to edit/delete/add), for each qualified tagger, without entering edit mode. Of course this would require tags to be associated with individual members in the dB table.

                                                               

                                                              It gets stickier when we consider moderation, global vs. local enabling/disabling, individual user permissions, and tag management (some way to clean up tag messes, if appropriate).

                                                               

                                                              I hope to hit up this discussion again to gather feedback on mockups or a prototype.

                                                               

                                                              Thanks!

                                                                • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature
                                                                  Ryan Rutan

                                                                  Sounds good....but I'll let others determine if they need that level of granularity.  There is definitely a balance to simplicity and complexity on this feature....supporting more use-cases is definitely better than less.  Assuming that if I am an appropriate admin (system/space) I can remove any tag?

                                                                   

                                                                  The interface that works really for us, and the one that people like is the Confluence model...where...adding tags gives you a text input field...value is parsed and split to allow the multiple tag additions at once....and remove is an AJAX/jQuery mouse-over...for individual removal of tags.  Both of this functionality appears when clicking on an "Edit Tags" link...which shows the text field for add...and decorates the existing links with the "remove" treatment.

                                                                   

                                                                  Definitely look forward to seeing this soon =)

                                                                  • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature
                                                                    Ryan Rutan

                                                                    Jason,

                                                                     

                                                                    I had a thought about your concept of User based ownership of tags, and I think this would enable the concept of Protected Tags mentioned in this issue.

                                                                    Feature Brainstorm : "Reserved and/or Protected Tags"

                                                                     

                                                                    In essence, if we had a listener put tags on as the System Context, they would be protected from removal.  This would be ideal in many ways, as long as a Space Admin for the container or another System Admin could remove them if needs be.  Looking forward to the design concepts.=)

                                                        • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature
                                                          Ted Hopton

                                                          This looks fantastic! Jive, what say you?

                                                          • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature
                                                            Ryan Rutan

                                                            Wanted to give this item a bump?  Any chance we can see this site wide for all taggable types in the next version of SBS?  I think this is a great opportunity to complement the Categories feature, such that when a Tag is added...the Category is auto-selected.  I haven't had a chance to look through the entire code, but looks like the auto-select may only occur at document creation/edit.  If this is the case, then this would need to be delegated to a Listener of sorts.  Any response would be greatly appreciated.

                                                            • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature
                                                              mark.schwanke

                                                              Ryan... I think this idea made it to print, no?

                                                               

                                                              Mark

                                                                • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature

                                                                  MotoGenius wrote:

                                                                  Ryan... I think this idea made it to print, no?

                                                                   

                                                                  Coming in 4.5.4 there is now a system property jive.tags.editable which, when enabled, allows authors of content to tag that content without entering edit mode. It's very similar to Ryan's solution (in fact his input helped to guide it) in that it manifests as an "edit" call to action, which slides open the tags field.

                                                                  http://gorn/images/inline_tagging.gif

                                                                   

                                                                  A few notes:

                                                                  • To tag content inline, you need to be authenticated (logged in) and have authorship entitlement for that piece of content.
                                                                  • Select methods from DbTagManager will be logged in jiveAuditLog whenever they are called, for auditing purposes - this captures the user making the change as well as all the arguments passed to the method called.
                                                                  • If system property jive.tags.editable=false, the 'edit' link in the animation above will not appear.
                                                                  • Included with the feature is a per-user preference to keep the tags field open on applicable content, if you find you do a lot of inline tagging (disabled by default).

                                                                   

                                                                  This small feature is actually the groundwork for some larger concepts like community tagging and more refined tag management. No word on when we'll be able to round this all out, but we wanted to get this feature (along with the ability to search tags on the tags pages) into the product to build on moving forward, even if it was just the tip of a larger feature set. Props to Jiver Jeremy Grant, who proactively did the auditing work, qualifying it for 4.5.4.

                                                                • Re: Feature Idea: Independent Tagging vs. Combined Edit + Tagging Feature
                                                                  mnevill

                                                                  Here is an idea related to "community tagging" everyone should go vote up: https://community.jivesoftware.com/ideas/3118