Scoop -- the swiss army chainsaw of content management
Front Page · Everything · News · Code · Help! · Wishlist · Project · Scoop Sites · Dev Notes · Latest CVS changes · Development Activities
Help Architecture Developer Diary
By The Trinidad Kid , Section Dev Notes []
Posted on Tue Dec 18, 2001 at 05:00:14 PM PST
This is a sketch for a Help system architecture which is flows from my usability proposal

Sketches Of A Help System Architecture

There are 2 components to this proposed Help System architecture:
  • A structured help text
  • The links to that help text at different points within the Scoop site
First Component

I suggest that the help information be kept in a table (lets call it helptext) with this format (I know it is counter intuitive to do the columns down and rows across but it formats much easier on me):

_FieldName__|_____Row 1___________|_______Row 2_________
HelpID.......HelpNewUsers..........HelpSubmit...........
HelpTitle....Help For New Users....Submitting Stories....
HelpContent.."This section is...".."To submit stories..."
FirstOrder...2.....................2.....................
SecondOrder..1.....................2.....................


When this table is updated a static HTML page will be generated. (See later for issues in the page generation).The data will be read in sorted by First Order and then Second Order and a structured page will be created.

The page will consist of a number of sections which will be the section for every discrete value of FirstOrder which has the lowest value of SecondOrder, looking something like this:

...starts...

{A NAME="HelpNewUsers"}Help For New Users

This section consists of help for new users of this www.myscoop.org who are interesting in finding out how to use the site...

{A NAME="HelpSubmit"}Submitting New Stories

To submit a story simply select the submit story option on the page and then fill in the three sections...

{A NAME="HelpModerate"}Selecting Stories For Publication

You decide which stories get published by moderating the queue of stories that have been submitted for pubication...

...ends...

The {A NAME=""} will be proper HTML name tags that the help system will use to open the help document at the appropriate page.

The page will be stuck in a help document.

Second Component

The context sensitive part will be provided by another table (lets call it helpvars) which will be another set of interpolating keys like blocks and vars.

It will have a simple format:
_FieldName__|_____Row 1_______|_______Row 2_____|__Row 3________
HelpID.......HelpNewUsers......HelpSubmit........HelpSubmit.....
DisplayText..I'm new, help me..How do I submit?..What's this?...


The helpvar HelpIDs will be many-to-one to the HelpIDs in the helptext table. These helpvars can be liberally sprinkled through the code like fairy dust using like so |helpid| - as per vars and blocks.

HTML generation issue

Should the HTML be interpolated with its own helpids to allow cross-referencing?

"Mr Cleanness and Mr Customer Expectation, they says yes, but Mr Cut'n'Paste he says that means I have to do some work of my own..."

Things That Need To Be Done

When the helpID is wheeched out of the database it needs to be wrapped in a nice little {A HREF=""}{/A} overcoat. For the moment we'll use an {A HREF="" TARGET=""} tag to open in a new window, but in future we might stick an option to either open it in the same window or in a target.

Dr Frankensein's Collection Of Bits

The function call cycle for loading the helpvars is:
Scoop:_set_ui
Scoop::Interface::refresh_ui
Scoop::Interface::get_helpvars (clone of get_blocks - stick the data in the cache too)

The function call cycle for interpolating the helpvars is:
Stick a call to keyReplace in Scoop::page_out with an argument of the new $S->{UI}->{HELPVARS}

An admin page to manage entering the helpvars will be needed as well. Any comments, suggestions and/or correction of my egregious misunderstandings much appreciated before I start doing anything...
< First cut DB2 database | Scoophosting ad text >

Menu
· create account
· faq
· search
· report bugs
· Scoop Administrators Guide
· Scoop Box Exchange

Login
Make a new account
Username:
Password:

Related Links
· Scoop
· my usability proposal
· The Trinidad Kid's Diary

Story Views
  71 Scoop users have viewed this story.

Display: Sort:
Help Architecture | 6 comments (6 topical, 0 hidden)
Some initial thoughts... (none / 0) (#1)
by hillct on Wed Dec 19, 2001 at 09:32:34 AM PST

First of all, This feature has been added to the 'Development Activities' page.

With regard to this feature, what is being created is simply a set of 'special pages' (in the scoop admin sense) which contain helpful information with regard to scoop operation. As such, it seems to me that extending the existing mechanisms rather than creating a new one might be desirable.

First, adding support for categories and sorting in the administrative interface for special pages, where one of the categories is 'help' would facilitate storage of the actual text of the help pages, rather than creating a new table for storage of the static help data.

Then creation of a new OP, 'help' which would operate similarly to the 'special' OP, in terms of display of pages from the 'special' table, but with a few unique behaviors, in terms of display of multiple and related pages.

This is where I'm not sure I follow your proposal. It seems you are suggesting creation of fields (FirstOrder, SecondOrder) -which I think would best be stored in a seperate table, on order to make use of the 'special' table for storage of help data - but it's not entirely clear how you propose to create contextual groupings of help data, for example help item 'form' which could be a paragraph on the use of HTML forms, followed by help item 'storysubmit' which would tank about the story submission process, or 'commentsubmit' which discusses the various fields of a comment submission. My understanding of your explanation is you intend to create a help context of 'form' where either FirstOrder or SecondOrder would be either 'storysubmit' or 'commentSubmit'. Since this is merely relating of data, I would think you would want to seperate it from the data itself. This would allow you to then call the OP 'help' with the contextID rather than the helpID/Special PageID, thus facilitating creation of infinate combinations of help data for the various contexts that might arise. The administration of these contextual relationships would be quite difficult and require a rather complex interface.

--CTH

PS: Then again, reading back over this, it's quite possible I completely misunderstood your proposed design.



--
ScoopHost.com - Premier Scoop Hosting and custom development from the lead developers.


Note to self (1.00 / 1) (#3)
by The Trinidad Kid on Thu Dec 20, 2001 at 11:55:58 AM PST

If you try and stick a 2 key table with a composite unique index into a hash (like I proposed to do with the second table def for helpvars) then not all the records come out. A unique helpvar field will need to be added to the table, and that will be the one that is interpolated not helpid.

Scottish Political Discussion


Education (none / 0) (#5)
by Kemsar Rooch on Wed Dec 16, 2015 at 02:26:11 AM PST

The presence and existence of the stories and tales are fundamental and interesting. It is improved and organized. It is present http://allenage.com/internet/tools-for-content-writers/. The hopes and positive tinge are ensured and utilized.



my sites (none / 0) (#6)
by jordanlokafer on Sun Nov 04, 2018 at 11:54:30 AM PST

visit this check that check here check my site check my blog



Help Architecture | 6 comments (6 topical, 0 hidden)
Display: Sort:

Hosted by ScoopHost.com Powered by Scoop
All trademarks and copyrights on this page are owned by their respective companies. Comments are owned by the Poster. The Rest © 1999 The Management

create account | faq | search