Bug 771803

Summary: RFE: Feature allowing Skynet to generate rudimentary content spec
Product: [Community] PressGang CCMS Reporter: Misha H. Ali <mhusnain>
Component: Web-UIAssignee: pressgang-ccms-dev
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: unspecified    
Version: 1.xCC: topic-tool-list
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 788328    
Bug Blocks:    
Attachments:
Description Flags
Basic Test Example none

Description Misha H. Ali 2012-01-05 02:11:55 UTC
Description of problem:

For products that already have a large number of topics within Skynet, creating a text file content spec when using the narrative book tool can be made easier if Skynet could generate (using possibly a release tag and expanded to other tags, such as "Administration" for an administration guide, etc.) for guidance on what to generate) a plain text list of topics and their topicIDs. This would be especially useful for products such as EAP, which have used Skynet to create topics but would have to waste time copy pasting exact titles and topic IDs as they exist in Skynet to generate a content spec.

Additional info:

This is a medium priority request for enhancement that can be integrated based on the priority of the Skynet development team. Lee Newson worked on the content spec tool with JWulf hence this functionality should not be tricky to implement given his in-depth experience with the tool.

Comment 1 Misha H. Ali 2012-01-05 02:16:21 UTC
Additionally, it might be worth considering to generate this list with the common name and concern tags as primary and secondary headers to prevent providing the author with a list of hundreds of unsorted topic titles and IDs. Example:

Chapter: [Common Name1]
Section: [Concern1/Technology1]
[Topic Name] [Topic ID]
[Topic Name] [Topic ID]
[Topic Name] [Topic ID]
[Topic Name] [Topic ID]
[Topic Name] [Topic ID]

Chapter: [Common Name2]
Section: [Concern2/Technology2]
[Topic Name] [Topic ID]
[Topic Name] [Topic ID]
[Topic Name] [Topic ID]

And so on. Just tossing out ideas to hopefully improve usability after using the narrative book tool *after* having used the Skynet web interface to create a large number of topics.

Comment 2 Matthew Casperson 2012-01-31 03:19:09 UTC
The CSV export function (which will be fixed in 201201131-1311 - see https://bugzilla.redhat.com/show_bug.cgi?id=772110) can be manipulated in a spreadsheet to generate most of what you need here.

The easiest thing to do would be to create a filter for all the topics that could go into a release, click the "Download CSV" button, and then use the spreadsheet filter and sort functions to copy and paste the details you need.

Let me know if the CSV files are not sufficient.

Comment 3 Joshua Wulf 2012-01-31 03:36:55 UTC
I used that process to create the EAP 6 Terminology Glossary:

http://post-office.corp.redhat.com/archives/eap6-docs/2011-October/msg00069.html

However, that relied on a custom query like this:

USE Skynet;
SELECT Tag.TagName, Topic.TopicTitle, Topic.TopicID
FROM Topic
LEFT JOIN TopicToTag as TopicType
ON Topic.TopicID = TopicType.TopicID
LEFT JOIN TopicToTag as EapRelease
ON Topic.TopicID = EapRelease.TopicID
LEFT JOIN TopicToTag
ON Topic.TopicID = TopicToTag.TopicID
LEFT JOIN Tag
ON TopicToTag.TagID = Tag.TagID
LEFT JOIN TagToCategory
ON Tag.TagID = TagToCategory.TagID
# Limit to technology tags
WHERE TagToCategory.CategoryID = 3
# Limit to Concepts
AND TopicType.TagID = 5
# Limit to EAP6 Beta
AND EapRelease.TagID = 132
ORDER BY Tag.TagName, Topic.TopicTitle;

And then quite a lot of manual manipulation in a spreadsheet (all of which could be programmatically done) to format it to a valid Content Spec.

What would be good is to be able to define grouping and ordering axes for a custom query, and have it return the results as a valid Content Spec.

In the query above we've defined:

"ALL [Concepts] FOR [Product] GROUPED BY [Technology] ORDERED BY [*Alphasort*]"

Maybe an interface with dropdowns to allow the construction of custom queries, which delivers the formatted spec?

Comment 4 Joshua Wulf 2012-02-07 02:14:15 UTC
This is a request for Skynet's current semantic assembly functionality to be exposed to the Content Spec processor. 

Presently Skynet can output navigation pages with the kind of output that Misha is after. Making it available in a Content Spec format means that the human can take it the last mile and provide [the missing semantic assembly | alternative semantic assemblies] using the CSProcessor.

Comment 5 Joshua Wulf 2012-02-14 00:53:33 UTC
from #jboss-docs:

<misty> Is there a REST way to create a content spec from a query?
<misty> the initial content spec for a group of topics?
<misty> when skynet comes back I'd like to dump a saved filter as a content spec

Comment 6 Matthew Casperson 2012-02-17 04:46:56 UTC
This will require that the CSP logic be exposed in a class I can include in Skynet (see bug 788328). Once I have access to that class, I can put topics into the hypothetical ContentSpecProcessor class and get out a text file that can be sent to the user.

Comment 7 Lee Newson 2012-02-23 05:07:48 UTC
Created attachment 565181 [details]
Basic Test Example

I've created two Jars files that can be used. These are found in the svn source code repository (see http://sourceforge.net/p/csprocessor/code/ in the branches folder).

I'll also attach an example that shows how to create a very rough and ready content spec. It also demonstrates adding relationships and comments.

I'll be continuing to add Java Docs to make it easier to use over the next day or so. Once I complete the Java Docs I'll move the assignment back to Matt.

Comment 8 Lee Newson 2012-02-27 00:46:44 UTC
Java Docs should be at an adequate Level for the moment for anything included in the JAR File, so assigning this to Matt.

I've also updated the JAR file in Skynet.

Comment 9 Misty Stanley-Jones 2013-05-29 02:50:46 UTC
Looks like this is resolved?

Comment 10 Lee Newson 2013-05-29 06:02:28 UTC
Actually no this one hasn't been resolved yet. What we need now is a way to create a content spec from a search, which would then be added to the UI. I'm going to change this over to pressgang-ccms-dev for now so we can decide if this should be done server side (ie via a REST endpoint) or client side (via JavaScript).

Comment 11 Lee Newson 2013-10-01 05:13:25 UTC
Moving this back to NEW, since there hasn't been any activity on this bug for
some time and we currently don't have anything scheduled.