Stream: pascal
Topic: IG Editor
Jose Costa Teixeira (Aug 14 2018 at 05:18):
I pushed some changes to IG Editor. It is a simple resource editor with a few extra features (still WIP):
1. Can import page content (including images) from word documents. Seemed easier and better than making a wysiwyg editor.
2. "Publish" button that will handle the publishing part:
- setup a few folders for storing the content that is referenced in the IG (pages, resources) in one location
- setup the Publishing framework - includes feature to download that framework to the current folder
Jose Costa Teixeira (Aug 14 2018 at 05:20):
my choice was to allow the editor to work autonomously, but the extra features (import and publish) require additional stuff that can be downloaded. If a user does not use the "publish" button, he gets a simple editor. If he does want to use publishing, he will get an additional set of files in a folder.
Jose Costa Teixeira (Aug 14 2018 at 05:24):
basic stuff only works on windows (perhaps at this stage only works on my pc). I have some questions and open issues like
- since the IG Publisher takes the src folder, this means that if I am working on 2 different IGs, I need two folders with the publishing framework. Perhaps we can tell the IG builder that the src folder is under another parent folder. That would save disk space.
- Need to add a lot of content (including finding a good UI for editing CodeableConcepts)
Jose Costa Teixeira (Aug 14 2018 at 05:26):
the importing of word content adds pandoc as a dependency. I have to learn how to handle licensing stuff, but pandoc may also be useful for another thing - push the output to a PDF.
Jose Costa Teixeira (Aug 14 2018 at 05:26):
that's it for today. Any comments welcome.
Jose Costa Teixeira (Sep 27 2018 at 15:38):
I am cleaning the IG editor and I would like to make a generic "deleteThisItem" method. Is there anything I can reuse for that ?
Grahame Grieve (Sep 27 2018 at 16:38):
what would it do?
Jose Costa Teixeira (Sep 27 2018 at 16:50):
delete the tvStructure.Selected.tagObject
Jose Costa Teixeira (Sep 27 2018 at 17:02):
nevermind, i forgot .dropEmpty
Jose Costa Teixeira (Sep 27 2018 at 17:08):
hmm.. should dropEmpty delete the object and its children or only the children?
Grahame Grieve (Sep 27 2018 at 19:58):
only if they are empty.
Jose Costa Teixeira (Sep 30 2018 at 18:22):
committed the IG Editor, i got the most basic stuff working. It now allows to add definition, packages, resources, pages. Can import pages from docx (if Pandoc is available) and can trigger a build.
Jose Costa Teixeira (Sep 30 2018 at 18:22):
it needs a lot of clean up but i need a fresh mind for that.
Jose Costa Teixeira (Oct 15 2018 at 05:58):
IG Publisher is working, including local build and git pull-commit-push. For this I needed the IG Publisher template to get files from another location (not ./src) so I changed the framework.
Grahame Grieve (Oct 15 2018 at 05:58):
why did you need that ?
Jose Costa Teixeira (Oct 15 2018 at 06:06):
Next improvements:
1 exception handling and things like disabling buttons if conditions are not met (e.g. disabling "publish" buton if there is no publisher)
2 Supporting the entire ImplementationGuide elements (for now only supports definition)
3 How to put items in my comboboxes automatically from the Enum types, not hardcoded (e.g. how can i initialize a dropdown with all the values in TFHIRGuidePageGenerationEnum)
4 How to have an editor work on their pages on top of a boilerplate - e.g. the user would add more pages but the default IHE pages for index, toc, how-to-read, copyright info... are always there
5 Adding Pandoc download to the mix - currently convert word docs to cml works, only if pandoc is already installed.
6 Adding Portable Jekyll to the mix (it is working but the download is several hundred MBs and i'm not sure how to get it to download the content directly from the git repository)
7 get some sleep
Grahame Grieve (Oct 15 2018 at 06:07):
CODES_TFHIRGuidePageGenerationEnum ...
Grahame Grieve (Oct 15 2018 at 06:07):
Sleep is overrated :-)
Grahame Grieve (Oct 15 2018 at 06:07):
(saying that having just had a 2 hour nap in the middle of the day)
Jose Costa Teixeira (Oct 15 2018 at 06:08):
if I am working on 5 IGs on my PC, i do not want to have 5 instances of the publisher
Jose Costa Teixeira (Oct 15 2018 at 06:19):
@Grahame Grieve for #4 i have no idea if the IG publisher already supports it.
Jose Costa Teixeira (Oct 15 2018 at 06:20):
(and i have no idea how to do it, but can figure out)
Jose Costa Teixeira (Jan 17 2019 at 13:30):
I think we should add the possibility to do git pull/commit/push to the toolkit (not to the IG). instead of opening an IG file you may want to open a repository and then open the IG file.
Jose Costa Teixeira (Jan 17 2019 at 13:30):
this may be needed also for exampleScenario editor, or for other resources
Jose Costa Teixeira (Jan 17 2019 at 13:30):
thoughts on whether / how ?
Jose Costa Teixeira (Jan 17 2019 at 13:32):
we currently have two lists in the toolkit main screen : servers and files. We could add a "repositories" list.
Grahame Grieve (Jan 17 2019 at 14:20):
sounds like a lot of work; I always avoid using the built in git support in products anyway
Jose Costa Teixeira (Jan 18 2019 at 05:34):
Not sure i understand how you see it and what is a lot of work. To use git I just launch dos console commands
Jose Costa Teixeira (Jan 18 2019 at 05:35):
so in a very basic solution i would need to have a list of folders instead of a list of files, then when i select a folder, i run git commands in there
Grahame Grieve (Jan 18 2019 at 09:44):
ok. I don't really imagine a UI for this?
Jose Costa Teixeira (Jan 21 2019 at 06:47):
One way would be to have a list of packages (not sure npm packages) and when i open one of those I get all my files in a folder.
Jose Costa Teixeira (Jan 21 2019 at 06:51):
Another would be when can open a ig, it would contain an extension that tells where the entire source package is. Source = XHTML + images + resources...
Jose Costa Teixeira (Jan 21 2019 at 06:59):
Once I get a location of the source (whether it is a zip to download or a git repo) i can extract it to local folder
Jose Costa Teixeira (Jan 21 2019 at 07:13):
Or instead of opening an ig i open a bundle with a bunch of binaries; but not sure if that allows me to preserve folder structure
Jose Costa Teixeira (Jan 28 2019 at 20:49):
aha, idea:
To make it simple for now, i could do this:
Jose Costa Teixeira (Jan 28 2019 at 20:50):
1. open a local file.
2. if in the same folder there is a .git folder, we can enable the .git functions
Jose Costa Teixeira (Jan 28 2019 at 20:50):
so no changes to the main UI now,
Jose Costa Teixeira (Jan 28 2019 at 20:51):
and if the resource needs to sync other content, in the respective editor, we can have 3 buttons: git pull, git commit, git push.
Grahame Grieve (Jan 29 2019 at 04:44):
I'm ok with a git menu like that
Grahame Grieve (Jan 29 2019 at 04:44):
just run command line git?
Grahame Grieve (Jan 29 2019 at 04:45):
or if you have way more ambition than sense: https://github.com/libgit2/GitForDelphi
Jose Costa Teixeira (Jan 29 2019 at 05:51):
yes, command line git
Jose Costa Teixeira (Jan 29 2019 at 05:52):
all git configuration comes from the system, repo setup is in the folder. simpler
Jose Costa Teixeira (Feb 01 2019 at 07:07):
so 2 options:
pasted image
Jose Costa Teixeira (Feb 01 2019 at 07:08):
either a menu item for "repository" which then opens a form to create, commit, push, pull...
Jose Costa Teixeira (Feb 01 2019 at 07:08):
or on the right the direct shortcuts for the pull, commit, push
Jose Costa Teixeira (Feb 01 2019 at 07:08):
also a button to open explorer on the current location
Jose Costa Teixeira (Feb 01 2019 at 07:09):
what would be the best?
Grahame Grieve (Feb 01 2019 at 11:44):
but what is the current location?
Grahame Grieve (Feb 01 2019 at 11:44):
I think one button / one menu with subitems / submenu for the 3 operations. I suspect we'll use up the toolbar space one day
Jose Costa Teixeira (Feb 01 2019 at 22:19):
current location would be the folder where the currently open file is
Jose Costa Teixeira (Feb 01 2019 at 22:20):
(this is not ideal but it seemed the least invasive option)
Grahame Grieve (Feb 02 2019 at 00:24):
yes
Jose Costa Teixeira (Mar 09 2019 at 19:32):
Jose Costa Teixeira (Mar 09 2019 at 19:32):
Jose Costa Teixeira (Mar 09 2019 at 19:32):
This is what I am thinking of.
Jose Costa Teixeira (Mar 09 2019 at 19:34):
First I'm off to hunt a memory leak in IGEditor.
Jose Costa Teixeira (Apr 05 2019 at 05:56):
If I have 3 IGEditor tabs to edit 3 IGs and i want to publish them with the same IG Publisher,...
Jose Costa Teixeira (Apr 05 2019 at 05:57):
1. should I? or every IG will have its own publisher?
Jose Costa Teixeira (Apr 05 2019 at 05:57):
2. how can i persist the location of the IG Publisher? ini file?
Grahame Grieve (Apr 05 2019 at 06:07):
one IG per repositroy. take it up on IG Creation tab
Grahame Grieve (Apr 05 2019 at 06:08):
2. don't know.... it's all about to change so I'll think about it while I'm doing the IG publisher chagnes
Last updated: Apr 12 2022 at 19:14 UTC