CABAL OF SWISH
SWI-Prolog custom work ideas:
- Allow in place disk editing of the disk files (like from SWISH source pane)
- Expand Html Pretty Printer (allow it to be use as a renderer) that creates expandable contractible terms
- Web based XREF Brower that Includes Dynamically Asserted Predicates into that XREF space
- Integrate the XREF Browser to be usable from SWISH (in some semi-non-obnoxious way)
I have prototyped buggy versions of the above .. but like the disk browser it used php things that would be better off written in Prolog.
TODO Make a statement of work from ... https://swi-prolog.discourse.group/t/swish-cabal/3771
I am maintaining a swish fork that does many new things but I find it a struggle every month keeping up with all the other forks that also do additional wonderful things.
Here are list of some authors whose forks I am consuming: Jan Wielemaker(SWISH!), Miguel Calejo (LPS), Fabrizio Riguzzi 1 (CPLINT, Trill-on-swish-On-Cliopatria), Riccardo Zese (Trill-on-swish)… (I have been combining at least three of Fabrizio 1’s different forks)
Functionality I have Completed:
- Shared editable Folders/Files that are accessible by users:
:- use_module(shared(dmiles/project1/mod')). - Mapping of user’s Google Docs/Drives onto SWISH’s available files
(also works for Dropbox) … The idea here is the user can mix the server shared folders with local files by using the cloud services.
:- use_module(shared(dmiles/gdrive/localcomputer1/project2/modA)).
File browser
- SWISH Ability to edit any filetype CodeMirror allows
(Opens in the same place programs/notebooks open)
Also allows files to be saved after edits.
- …. Lots to list here …. (Still doing so)
- :- use_rendering(html). to allow direct term-ified HTML writing
Inherited/Merged functionality from Forks not maintained yet in SWI:
(The authors of these modules will hopefully have their own wishlist… listed below are just things i copy/used from existing forks)
…. Lots to list here …. (Still doing so)
- Rendering: Toggling Between Cliopatria RDF view to SWISH defaults
NEEDS REDO - Cliopatria Menu Navigator as well as all the existing Cliopatria CPACK tools
NEEDS REDO - Profiles (RDF11 vs RDF)
- Extra Semweb examples like
SWISH -- SWI-Prolog for SHaring - (also see GitHub - friguzzi/trill_on_swish: Cliopatria pack for trill (this is a CPACK))
- Rendering: Toggling Between Cliopatria RDF view to SWISH defaults
Trill-on-Swish (Non-CPACK)
- Enumerating Extra Help files into Help Menu
- TRILL , Probabilistic TRILL profiles
- Extra Trill examples
- Dismissible header
- Profiles (LEMUR, ALEPH, CPLINT, PHIL)
- Extra examples
Early CPLINT
- Extra file type editing like LPAD (needs redone ?)
- Timeline/Animation renderers
http://demo.logicalcontracts.com/example/lpsExamples.swinb
Logical Contracts -- Alpha Demo - :- expects_dialect(lps). Is vetted inside SWISH temp modules
- Timeline/Animation renderers
My further wishlist:
That we have an “Official Fork” that may contain all the projects examples
And wild features combined! into a “Franken-SWISH”
(We can still have the small/tight SWISH that is official one we have now)
- Ideas: Buttons to Include/Disclude Franken-SWISH content/adornments ? TODO
- Ability to inspect/browse PACK_INFO 1 (currently only a PLWEB feature) TODO
- Ability to create Editor pages (tabbed.js) with <iframe>s TODO
- “Submenus” from ‘swish(examples)’ disk layouts TODO
- Separate Cliopatria’s aliases of “config-available” and “config-enabled” from SWISH’s (Rename one of them?) NEEDS REDESIGN
- (My TODO) Making sure that I don’t need to change SWISHes code when I swap out for a different file system browser lib. For example I want to replace elFinder’s Javascript system with Thelia’s Javascript directory browser. How it works now is pretty much I use javascript to communicate to swish what filesystem content is being used/updated … sometimes prolog will actually pull the source text from the URL that is supposedly mapped to the disk… etc TODO
- The ability to set a long running process and destroy it later in a “Process/Thread manager” TODO