Hide Forgot
Here is the pseudo-code to generate navigation pages: Navigation is a Docbook Chapter <chapter> [for each audience] <section> [for each technology] <section> [Concept Overviews] [Task Overviews] [Top Five Tasks....] </section> [end:for] </section> [end:for] [for each audience] <section> [for each concern] <section> [Concept Overviews] [Task Overviews] [Top Five Tasks...] </section> [end:for] </section> [end:for] Top Five Tasks are seeded from sort on aggregated priority.
done.
We need four high level pages: Tech per admin Tech per dev Concern per admin Concern per dev On these page we iterate the tech / concern, and populate it with the Overview topics, plus the top five tasks by priority. We a link in each section (perhaps saying "more..." at the end of the iteration), which links to these pages: Pages of: Tech per admin Tech per dev Concern per admin Concern per dev Each of these pages contains one tech / concern with an iteration of Overviews followed by all tasks for that tech / concern, ranked by priority. Priority should be calculated through a combination of IA_PRIORITY, SME_PRIORITY, ENG_PRIORITY, PM_PRIORITY.
Here's a mockup. This is the technologies per admin page. Notes are in [] EAP Technologies for Administrators [Page Title] Hibernate [Technology Title] Data Persistence Overview [Conceptual Overview] Add Hibernate Support to an application [Task overview] Create a new Hibernate mapping file [#1 Task by priority] Do Task #2 Some Task #3 Another Task #4 Fifth Highest Priority Task more... [links to page: Hibernate for Administrators] Another Technology Category [Technology Title] A Conceptual Overview from this category Another Conceptual Overview from this category A Task Overview from this category The other Task Overviews from this category The Number 1 Priority task from this category The Number 2 Priority task from this category The Number 3 Priority task from this category The Number 4 Priority task from this category The Number 5 Priority task from this category (more...) [Link to page: Another Technology Category for Administrators] Here is a mock up of a technology per admin page: Hibernate for Administrators [page title] [In this first cut, let's populate this page with a concern per admin constrained on technology Hibernate; so the code can be reused from the concern per admin page generator] Concern A [Section title] Concept Overview #1 from Concern A | Tech: Hibernate | Audience: Admin Concept Overview from Concern A | Tech: Hibernate | Audience: Admin Task Overview #1 from Concern A | Tech: Hibernate | Audience: Admin Task Overview #2 from Concern A | Tech: Hibernate | Audience: Admin Concern B [Section Title] Concept Overview #1 from Concern B | Tech: Hibernate | Audience: Admin Concept Overview from Concern B | Tech: Hibernate | Audience: Admin Task Overview #1 from Concern B | Tech: Hibernate | Audience: Admin Task Overview #2 from Concern B | Tech: Hibernate | Audience: Admin
Total number of pages required: High-level pages: Audiences x Dimensions = COUNT[Developer, Administrator] x COUNT[Technology, Concern] = 2 x 2 = 4 pages Per Audience Per specific [concern | technology]: COUNT[Administrator, Developer] x COUNT[Technologies()] + COUNT[Administrator, Developer] x COUNT[Concerns()] = 2 x 29 + 2 x 30 = 118 pages Total: 122 navigation pages Later, we will add slicing by Tech / Concern with both Admin and Developer on the same page, which allows users to Ctrl-F search all tasks by tech / concern with no regard for audienc). That will add 59 pages. We'll save that one for the next test.
Josh, I'm taking these ideas on board to develop a high-level, static mock-up. I have planned to meet with Rudi on Friday to discuss the approach to information design and how it could work with Platform and Cloud.
Nav pages done. Still need to generate top 5 topics.
Top 5 tasks are now included in nav pages. See the calculateRelativePriority() function in the businessrules.drl file for details on how the priority of the tasks is calculated.
In my latest build, I get 20 tasks in the top five EAP Technologies for Administrators Top 5 Application Server related tasks I'm going to make a live docbook mockup of this and upload it to this ticket.
Created attachment 497398 [details] Topic title; Topic ID injection; Bugzilla link injection This is a demonstration of the Docbook xml and html output formatting of the topic titles; the insertion of the Topic ID into each topic; and the inclusion of an individualised bugzilla link per topic.
Here is the "moar than 9000" navigation pages pseudo-code. Navigation Pages Note: Top-level sections render as individual html pages. Sub-sections render as sections on an html page. <Chapter> <title>Nav test</title> A: for:AUDIENCE <section> <!-- By Technology Front Page per Audience --> <title>[Installation, Configuration and Operation | Development | Migration] (Technologies)</title> <para>Intro blurb</para> <!-- consider view rotation link here --> for:TECHNOLOGY <section> <title>TECHNOLOGY.title</title> <!-- SELECT TASK_OVERVIEW,CONCEPT_OVERVIEW,TOP_FIVE_TASKS WHERE AUDIENCE=this.AUDIENCE GROUP AND TECHNOLOGY=this.TECHNOLOGY --> <!-- xref "more this.AUDIENCE tasks for this.TECHNOLOGY -> C(this.AUDIENCE,this.TECHNOLOGY)" --> </section> end:for:TECHNOLOGY </section> end:for:AUDIENCE <!-- number of html pages = COUNT(AUDIENCE); number of sections per html page = COUNT(TECHNOLOGY); number of links per page = COUNT(TECHNOLOGY) x (6 + AVERAGE(COUNT(OVERVIEW))) --> B: for:AUDIENCE <section> <!-- By Concern Front Page per Audience --> <title>[Installation, Configuration and Operation | Development | Migration] (Concerns)</title> <para>Intro blurb</para> <!-- consider view rotation link here --> for:CONCERN <section> <title>CONCERN.title</title> <!-- SELECT TASK_OVERVIEW,CONCEPT_OVERVIEW,TOP_FIVE_TASKS WHERE AUDIENCE=this.AUDIENCE GROUP AND CONCERN=this.CONCERN --> <!-- xref "more this.AUDIENCE tasks for this.CONCERN -> D(this.AUDIENCE, this.CONCERN)" --> </section> end:for:CONCERN </section> end:for:AUDIENCE <!-- number of html pages = COUNT(AUDIENCE); number of sections per html page = COUNT(CONCERN); number of links per page = COUNT(CONCERN) x (6 + AVERAGE(COUNT(OVERVIEW))) --> C: for:AUDIENCE for:TECHNOLOGY <section> <!-- Tasks by concern for a specific technology --> <title>[AUDIENCE] tasks for [TECHNOLOGY]</title> <para>Intro blurb</para> <!-- consider view rotation link here --> for CONCERN: <section> <title>CONCERN.name</title> <!-- SELECT TASK_OVERVIEW,CONCEPT_OVERVIEW,TASKS WHERE AUDIENCE=this.AUDIENCE AND TECHNOLOGY=this.TECHNOLOGY AND CONCERN=this.CONCERN GROUP BY CONCERN --> </section> end:for:CONCERN </section> end:for:TECHNOLOGY end:for:AUDIENCE <!-- # of html pages= COUNT(AUDIENCE) x COUNT(TECHNOLOGY); sections/page=COUNT(CONCERN)); links=>9000 --> D: for:AUDIENCE for:CONCERN <section> <!-- Tasks by concern for a specific technology --> <title>[CONCERN] tasks for [AUDIENCE]</title> <para>Intro blurb</para> <!-- consider view rotation link here --> for TECHNOLOGY: <section> <title>TECHNOLOGY.name</title> <!-- SELECT TASK_OVERVIEW,CONCEPT_OVERVIEW,TASKS WHERE AUDIENCE=this.AUDIENCE AND TECHNOLOGY=this.TECHNOLOGY AND CONCERN=this.CONCERN GROUP BY TECHNOLOGY--> </section> end:for:CONCERN </section> end:for:TECHNOLOGY end:for:AUDIENCE <!-- # of html pages= COUNT(AUDIENCE) x COUNT(TECHNOLOGY); sections/page=COUNT(CONCERN)); links=>9000 --> </chapter> Topic view rotation injection inject navigation links: <itemizedlist> for:this.AUDIENCE: for:this.TECHNOLOGY <!-- "Development tasks for HornetQ" --> <listitem><para><xref linkend="C(this.TECHNOLOGY, this.AUDIENCE, #this.CONCERN)"/></para></listitem> end:for:this.TECHNOLOGY for:this.CONCERN: <!-- "Messaging Development tasks for HornetQ" --> <listitem><para><xref linkend="D(this.AUDIENCE, this.CONCERN, #this.TECHNOLOGY)"/></para></listitem> <!-- "Development tasks for Messaging" --> <listitem><para><xref linkend="B(this.AUDIENCE, #this.CONCERN)"/></para></listitem> end:for:this.CONCERN for:this.TECHNOLOGY <listitem><para><xref linkend="A(this.AUDIENCE, #this.TECHNOLOGY"/></para></listitem> end:for:this.TECHNOLOGY end:for:AUDIENCE </itemizedlist> We can optimize this, trading links per page against clicks to target to get the right balance for navigational efficiency.
Done.
Sorry, missed an important point: Sort alphabetically.