Fossil Forum

RFC: indexing -all (KWIC, topic, ...), fossil one ring to rule them all
Login

RFC: indexing -all (KWIC, topic, ...), fossil one ring to rule them all

(1.3) By Phil Maker (pjm) on 2020-09-02 22:50:44 edited from 1.2 [source]

G'day,

I've broken something with the formatting so apologies, preview looked fine.


Summary: we've built a few tools for Fossil project management, in particular
indexes: KWIC, topic-based, and just a list of the project headers. See below for
examples. I've not linked to the server since it points to private repos and we
just get bombed by the script kiddies.

Question 1: is it worthwhile? where should put in, in fossil -all or just a separate project.

Question 2: the complete toolset include timesheets, templates, server setup is available if your interested. I'm not entirely sure its ready for prime time but
I've append the command list to this post. Drop me a line if want a tarball.


<h1>Introduction</h1>
We are using fossil fairly successfully as the one ring to rule them all for Project Management including things like pushing timelines, timesheets, and events into the timeline which I'm finding very useful. There is just a single project web site and the timeline shows when various documents were requested/submitted. The forum is great as well for showing how since X did Y and what are the assumptions. Thats all great and I'm looking at what I could do usefully. So thoughts and observations about the following would be taken as a kindess:

<h1>KWIC index for all</h1>

Currently we are tracking 110 projects (many of which are start/stop) so we  have tools to build a Keyword Index in Context. This is used a bit.

<verbatim>
This is a Key Word In Context list for the projects and their descriptions.

                                                   gnu-nana: Nana   - a DBC framework
                                                        element47   -work: work
                                                        pjm-sasr:   Access Security Remotely
                             energynautics-work: work with Thomas   Ackermanns Energynautics
                        aptissio-work: work with paul chandler at   Aptissio
                                                nf-rpc-brief: RPC   BRIEF
                        cccp-bsd: Controller Controller Program (   BSD licensed).
                                    balance-work: project for the   Balance Group work.
                        au-standards-battery-testing: project for   Battery Testing Standards
                                timed-dbc: DBC is an attempt at a   C only Time DBC framework
                                       cdu-target: target for the   CDU MSc Students
                                                   cps-work: with   CPS National
                           blue-sky-model: model of PV Prediction   Camera and its performance.
                            pwc-skycamera-trial: from the EDS Sky   Camera Trial
                             : project at the regional Roseworthy   Campus                                  tecc-roseworthy-microgrid
                              clean-tech-partners-work: work with   Clean Technology Partners
                                                        psc-work:   Consulting work
                                                        cccp-bsd:   Controller Controller Program (BSD licensed).
                                             cccp-bsd: Controller   Controller Program (BSD licensed).
                                                pm-controls-work:   Controls Work
                                 corrosion-instruments-work: with   Corrossion Instruments
            : x 1h talks for the Masters Practical Cyber Security   Course.                          cdu-industrial-cyberwarfare-talk
                           : x 1h talks for the Masters Practical   Cyber Security Course.           cdu-industrial-cyberwarfare-talk
                                               gnu-nana: Nana - a   DBC framework
                                                       timed-dbc:   DBC is an attempt at a C only Time DBC framework
                    timed-dbc: DBC is an attempt at a C only Time   DBC framework
                                                  horizon-denham:   Denham Hybrid Power Station
                          talk-pv-diesel-101: introduction to PV/   Diesel Systsems.
                                 digintel-templates: from Sana at   DigIntel
                                                 rpc-troop: Troop   Documents and Methods
                                    EDS-home-draft: draft for the   EDS home page for us to play with.
                                                        EDS-team:   EDS team homepage
                                                                    EDS: public EDS project which is readable by anyone.
                                                      EDS: public   EDS project which is readable by anyone.
          eds-fossil-usage: small tutorial on fossil usage within   EDS
</verbatim>

<h1>The next one is a keyword index base on naming conventions</h1>

The names use a keyword-keyword-... where keyword is company or tasking or owner
so the following is a short view:

<verbatim>
Keywords based list:
EDS:EDS-home-draft EDS-team EDS
cdu:cdu-industrial-cyberwarfare-talk cdu-target
cove:cove-military-justice pjm-cove-article
eds:eds-business-cards eds-distributed-generation eds-fossil-usage eds-fp eds-itp-tool eds-itp-ui eds-licenses eds-logo 
energynautics:energynautics-png energynautics-work
fossil:eds-fossil-usage fossil-openbsd fossil-pit fossil-project-demo
itp:eds-itp-tool eds-itp-ui
laot:laot-dev laot-project laot-pub laot-sys laot-work
map:eds-mind-map mind-map
mind:eds-mind-map mind-map
norforce:norforce-remote pjm-norforce
nwmf:nwmf-crocodile-drills nwmf-likely-outcomes
pjm:pjm-cove-article pjm-kitlists pjm-work
</verbatim>



<h1>And finally there is just a index for each project header</h1>

<verbatim>
fossil-openbsd	Installed on OpenBSD VM
fossil-pit	pit, a wrapper for many fossil repos
fossil-project-demo	a small project demo
geoff-work	playpen
gnu-nana	Nana - a DBC framework
horizon-denham	Denham Hybrid Power Station
laot-dev	laot development/tool repo
laot-project	project homepage
laot-pub	public homepage
laot-sys	
laot-work	work project
little-moata	small nuclear reactor model for training
m-troop	troop
</verbatim>

<h1>EDS tool set commands</h1>
I've started moving this into a package provisionally called fossil-pit
but its perhaps of no interest. Some of the more interesting stuff (IMHO) 
is putting project planning info into the timeline.

<verbatim>
eds-archvive-project - archive a project away after we have fiinished
eds-backup-usb - this should do a backup of everything to an external 
eds-backup-usb - this should do a backup of everything to an external 
eds-check - check that we have eds-ts-co and all the changes
eds-checklist - run a checklist over a wiki page 
eds-clean - just the clean the current working directory
eds-delete - delete a project from both the local and remote repos
eds-expand - expand a text file using macros
eds-fossil-subset [wiki|technote...]
eds-fossil-union - combine all the fossil repos into 1
eds-fossils - just list all the fossils for scripting
eds-hits - a summary of where are getting hits on any of the servers
eds-itp-ui - display a simple ui for an eds itp document
eds-list - returns the list of all the FOSSIL projects
eds-list-users - show all the users for all the projects with their capabilities
eds-milestone-add - add a milestone techreport to the project timeline
eds-new - create a new project
  usage: eds-new [[project-name] [template [description]]
eds-project - just print the project name
eds-project-description - prints the description for a particular project
eds-project-name - just print the project name
eds-project-taskjuggler-import - just a demo of a project import
eds-ptx - generate a ptx of the projects and their descriptions
eds-push-search - just push the default search configuration
eds-push-skin - push the eds-template skin to all the repos.
eds-screencast-compress - compress a screen cast
eds-set-project-name-description - set project name for a fossil archive
  usage: eds-set-project-name-description a-project which is a nice example
eds-sync - sync all EDS archives between here and eds.power.on.net (or
eds-technote-add - add a technote techreport to the project timeline
eds-tickets - list all tickets in eds projects
eds-ts-checkin - checkin on the timesheet for a job.
eds-ts-add-note - add a note to the timesheet which is just used in
eds-ts-ci - do a checkin with an optional note. This just:
eds-ts-ci-list - list all projects that you have an open ci in.
eds-ts-co - do a checkout after doing eds-ts-ci
eds-ts-commit - commit a verified set of timesheets to the
eds-ts-report - generate a series of report from ./ts/*
eds-ts-report-export-to-timeline - export a report from stdin
eds-ts-status - display a status line suitable for a prompt or page
eds-ts-submit - submit a set of timesheet files after validation
eds-ui - display a simple ui for an eds project
eds-update-projects - updates the wiki list of all the projects.
eds-users - setup the users for all the fossil archives
eds-wiki-edit - just edit and save a sinle page
  usage: eds-wiki-edit page
eds-wiki-list - list the wiki pages in topological order
eds-wiki-proofread - read, edit and commit wiki pages.
</verbatim>

<h1>Background</h1>
To see the background of the team and work have a look at [https://eds.power.on.net/EDS/]

(2.3) By Phil Maker (pjm) on 2020-09-02 11:16:22 edited from 2.2 in reply to 1.1 [link] [source]

Deleted

(3.1) By Phil Maker (pjm) on 2020-09-02 11:16:05 edited from 3.0 in reply to 2.2 [link] [source]

Deleted

(4.1) By Phil Maker (pjm) on 2020-09-02 11:16:15 edited from 4.0 in reply to 3.0 [link] [source]

Deleted

(5.1) By Stephan Beal (stephan) on 2020-09-02 10:33:20 edited from 5.0 in reply to 1.1 [link] [source]

I've broken something with the formatting so apologies, preview looked fine.

For reasons i don't yet understand, your top post is being emitted without the typical wrapper element which wraps up the body element. The forumPostBody element...

  1. Normally has a single child which contains the post content and tells us what type of content it is (markdown, plain test, fossil wiki).

  2. Has a flexbox layout because the post exceeds the "make it collapsible" threshold size the flexbox layout simplifies the stretching and growing of the content.

Your post is missing (1), and (2) causes the paragraphs of your post to then be laid out side by side.

i'll take a look at what's going wrong there.

(6.1) By Stephan Beal (stephan) on 2020-09-02 11:01:50 edited from 6.0 in reply to 5.1 [link] [source]

I've broken something with the formatting so apologies, preview looked fine.

"It's not you, it's me."

A fix for this was just checked in to trunk, so the forum will be updated the next time Richard rebuilds the binary.

The "problem" is that you used fossil wiki format, which we apparently rarely see here in the forum, as this problem has existed since the expand/collapse feature was added and has not yet been noticed, or not in such spectacular fashion. That particular format differs from the markdown and plain-text renderers in that it does not wrap its output in a top-level HTML element like markdown's DIV or plain text's PRE element. That, in turn, broke CSS-side expectations which required that the post body be encapsulated in a single element. The just-checked-in fix resolves that by adding a new wrapper element around posts which use the fossil-wiki format.

Your post is still extremely wide because of one non-wrapping element, but that's a different matter altogether which i have not looked into.

(7) By Stephan Beal (stephan) on 2020-09-02 12:53:10 in reply to 6.1 [link] [source]

Your post is still extremely wide because of one non-wrapping element, but that's a different matter altogether which i have not looked into.

That's caused by your "verbatim" tags. Those get translated to <pre class="verbatim">, and the PRE tag has a default white-space policy of "leave it as is," so your long lines get left alone rather than wrapping. That's not something which can simply be changed in the CSS without having some degree of fallout.

One option would be to set the PRE white-space policy on forum posts to be different from that policy in non-forum wiki pages and embedded docs (where most, if not all, of the fallout would happen), but whether or not that's a good idea is as yet unclear to me. (The pre-line style works reasonably well on your second verbatim block, but the top/centered one is another story altogether - only a liberal application of fire seems likely to straighten that one out.)

i experimentally edited your post on my local dev copy to try to find a quick fix for the the formatting which would wrap the really long lines. It seems that changing the VERBATIM tags to:

pre class="verbatim" style="white-space: pre-wrap"

(don't forget the closing tags as well)

will do the trick, at least well enough for purposes of the post. i'll leave any such (optional) edits to you, though.

(8) By Phil Maker (pjm) on 2020-09-02 22:01:55 in reply to 7 [link] [source]

Thanks Stephan,

I'll wait for the update to happen and the play with the tags as you suggest.

Still it was an interesting looking format.