Help file generator - Suggestions wanted.

Post

Posted
Rating:
#1 (In Topic #1450)
Avatar
Expert
Quincunxian is in the usergroup ‘Expert’
Quincunxian is in the usergroup ‘Blogger’
Greetings all.
A help page for a 'quick and dirty' application is not really required, but for those of you who are writing applications for a broader audience,
a help system may be beneficial even if it only consisted of a FAQ page.

I'm in the process of (re) writing a project that will automatically create a Help system for a specified project.
Obviously, it could not write the detailed help information but can do the basics such as:
Create a dedicated help folder in the project.
Create a CSS file with some basic formatting : background, object colour & text sizes etc
Create individual .html pages (or a single page) with information specific to that form.
Generate additional 'empty' html template files as required.

You would select your project folder.
The application would then identify all forms in the project .src folder and list them in a list box.
You select those forms that you wish to generate help on.
You set some basic formatting for the CSS file; colours and text sizes.
Specify if individual pages or a single page with bookmarked sections for each form.
It would identify each control used in the form and copy any images (pictures/ button images etc) and…
either copy them to an image folder or reflect the path in the project where the images are stored. (Both options have pros & cons)
Place the names of the controls next to each image of the control so you can identify.
Generate an instruction text file for how to implement  the 'help system' in your project.

I already have most of the above working in a test model but will try to add:
A (very) basic in application WYSYG html editor. ( personally I use VSCode for editing but can see the need for a basic system)
A dedicated help Form so that the help file can be opened within the application rather than the browser using xdg-open.

What I'd like from the community, is any other functions/information that I could add to the project.
No idea is too crazy keeping in mind that I have only the contents of your project to work on.

VERY rough draft.

Image

(Click to enlarge)


Cheers - Quin.
I code therefore I am
Online now: No Back to the top

Post

Posted
Rating:
#2
Avatar
Regular
thatbruce is in the usergroup ‘Regular’
Man, I wish you the best of all possible luck!
I have tried for a similar idea many times and have never really been happy with the results.

Now a couple of questions.
Are you trying to write help for users or developers? I think their needs are really different and more or less incompatible.
Have you thought about navigation through the help? Its a big issue. I note that Benoit is still really not overly happy with the wiki navigation! But don't let that discourage you.

Two tools that I have used with some degree of joy are:
  1. Olivier Cruilles "gbDocEditor" from the Farm which is very good at using Gambas markup to create page content but lacks a site navigation manager type of thingy.
  2. the "Zim" editor from the intertubes https://zim-wiki.org/ which uses general markup with some eccentric knitting patterns and correct tongue in mouth placement to get exactly what you want to see but OTOH has good site navigation management.

 other tools I have tried (and tried to build) are too numerous to review  :|

Anyway, those two items (navigation and quick and easy content generation) are the major things that I reckon differentiate useful help from gibberish.
I'll see if I can find a couple of progs where I have used the above and see if I can show a few screenshots.

Oh, one other thing to think about is templates! Help that is consistent in "look" is a major plus.

Looking forward to seeing your results!
b

Online now: No Back to the top

Post

Posted
Rating:
#3
Avatar
Expert
Quincunxian is in the usergroup ‘Expert’
Quincunxian is in the usergroup ‘Blogger’
I did do some work on a function to technical document a project aimed at developers.
This creates a document itemizing most of the project elements.
Attached is full list (all project options) or a mediums sized project which comes out at around 370 pages.
I need to do a LOT of work on the page size function as it's not setting page sizes correctly (lines per page)

As for navigation, I have thought of two options.
<LIST>
  • <LI>Create a help menu that reflects the main form menu system.</LI>
</LIST>
<LIST>
  • <LI>User creates a simple menu and links to the pages that are in the Help folder.</LI>
</LIST>

yeah thanks, send any screen shots that you think may have some value.
and thanks for responding!

Note# On the screenshot, the options are greyed out as they don't exist in the selected project.

Image

(Click to enlarge)


Cheers - Quin.
I code therefore I am
Online now: No Back to the top

Post

Posted
Rating:
#4
Avatar
Administrator
gbWilly is in the usergroup ‘unknown’
gbWilly leads the usergroup ‘GambOS Contributor’
gbWilly is in the usergroup ‘Blogger’
Interesting project, wheren't you working on something like this back in the time of the White Islands forum.
I seem to remember downloading source code like this that you where working on in those days and I liked the idea very much.

And this seems like a continuation (or evolution) of what you where working on back then (10+ years ago)

Documentation is always hell for a developer somehow, how hard you try… :?
I know digging into code that you didn't touch for a long time can be hard an some good technical documentation generated by code would be a blessing.

I never set my mind to a thing like this and just try to document inline as good as possible.

gbWilly
- Gambas Dutch translator
- Gambas wiki content contributor
- Gambas debian/ubuntu package recipe contributor
- GambOS, a distro for learning Gambas and more…
- Gambas3 Debian/Ubuntu repositories


… there is always a Catch if things go wrong!
Online now: No Back to the top

Post

Posted
Rating:
#5
Avatar
Expert
Quincunxian is in the usergroup ‘Expert’
Quincunxian is in the usergroup ‘Blogger’
Hey Gb,
Yeah. I still remember those days of White island software very fondly. Great times and when Gambas was still pretty new. I joined just at the tail end of Gambas 1.

That program was called the Gambas Project Review Utility or GPRU.
I still use it to this day and have been refining it as changes to Gambas evolve and I never released it into the wild due to the documentation and help generator not being 'good enough' to publish.
It occurred to me, after I posted the request for help generator functions that I should really just finish GPRU and update both instead of making a stand alone tool.
What triggered that is the reply from 'thatbruce' where he said
Are you trying to write help for users or developers? I think their needs are really different and more or less incompatible.
I agree with that pretty much and think the functionality should be more around the developer having a tool to quickly write a help shell with the ability to set some basic CSS for consistency.
The benefits to the user would be that consistency of interface.

One of the big benefits of the GPRU, is that you can open a Gambas project that you currently have open in the GUI editor and do things that are not available in the GUI.
Example: search for 'ToolTips' and list every instance in forms that use those in your project.
You just need to refresh the GPRU as you make changes to your Gambas project to keep it up to date.
I've had a compiled instance of the GPRU open reviewing its own code as I'm making changes which feels rather weird. :twisted:

The database functions are quite useful. If you use a database in your project it will be able to connect to it and automatically generate the Gambas code to add/change and recall data.
Then you can copy the code directly into your project. This is written in a basic format and would be easy for someone to change to their own style.
You can also export table data to CSV, Html, Xml formats and create an SQL script to create the entire database schema from scratch.

You can also create a 'tip of the day' for your users which is very similar to the Gambas tip of the day.
There is also a 'Useful Links generator which allows you to collate a series of links - the one I use in the GPRU is more for developers and it has all the Gambas Forums ( even this one) plus the various database help sites, links to W3Schools for basic "how do I do this again' stuff. Some graphics sites for free tiles, icons and so on.

I'll get to work and keep any interested parties updated on progress.
If anyone can think of any useful functions they'd like to see, give me a shout.

Image

(Click to enlarge)


Cheers - Quin.
I code therefore I am
Online now: No Back to the top
1 guest and 0 members have just viewed this.