2

I'm creating manuals for several, related industrial products - some have common chapters that I need to link, not duplicate (to make updating feasable)

What I need (functionality):

  • a GUI
  • local application or self-hosted ("longterm solution" needed...)
  • upload multiple files = chapters (preferably docx, MD or *tex would be possible, or online editor) into multiple folders
  • organize those files (update with new versions, reorder etc.)
  • link files between folders (deduplication)
  • merge & export folders (preferably to docx - so I can add customer info; at very least to PDF with robust layout)

Current solution:

  • Word docx files for chapters
  • into multiple folders on NAS
  • Shortcuts for duplicate files
  • merge in Word [Insert->Data], update table of content (allows customization per end customer)
  • export as docx or pdf

Issues with current solution:

  • Shortcuts not robust (if folders change, it might break some time in the future)
    • tried Symlinks, but without the HardLink shell extension installed, it's hard to distinguish them from files
    • also, read that symlinks if backed up & restored may loose functionality (=/ longterm stable solution?)
  • Would like to know if there is a better, ready-built solution for this

What I've tried:

  • Wikis
    • mediawiki
    • wikijs
    • dokuwiki => none are meant to be exported the way I'm trying to
  • MD editors
    • CodiMD
    • Dillinger
    • StackEdit => none are meant to be exported the way I'm trying to, cannot link etc
  • Document Management Systems
    • Papermerge (not for editable files)
    • ecoDMS
    • "a few more opensource/free" solutions => none are meant to be exported the way I'm trying to
    • LogicalDoc CE*
      • no merging, does everything else though
  • Bookstack
    • looked great initially (can link content, can export to PDF, intuitive layout)
      • fails when it comes to customizing the output layout (table of content always on coverpage, no cover image, no footer/header)

Unix would be perfectly fine. An editable output format would be the preferred solution as you could then add customized footers/headers per customer after merging the manual. But a) either customizing on the fly (e.g. md/latex editor or others) or being flexible enough to contain multiple coversheets to choose from (as in Word footers/headers when merging documents are always taken from the coversheet) would work as well. Let me put it this way, the last time someone rewrote those manuals was about 15-20 years ago, there's not too many changes. I just want a good foundation.

It will be 2-3 people using the "tool", but I don't really need specific permissions per user, so one user is fine.

*current candidate

3
  • 1
    Interesting question! Must the service run on Windows – or would self-hosted "back-end" on other systems (like Linux) also work as long as they support your Windows client? And must MSWord format(s) be supported, or would it suffice as long as PDF output can be generated? What about the price tag/licensing terms? Must it support multi-user (incl. managing them, their permissions etc)?
    – Izzy
    Nov 9, 2020 at 23:00
  • Could you please edit your question and include these details? If possible, with a less vague price tag ;) Thanks!
    – Izzy
    Nov 10, 2020 at 12:44
  • OK, good luck then! As you didn't answer to "multi-user", I assume it's just you working on it? Anyway, if you agree we should now cleanup (delete) the obsoleted comment. All essentials are now in the question, right?
    – Izzy
    Nov 10, 2020 at 22:56

2 Answers 2

1

You should also take a look at Sphinx

  • it is phython-based, and runs on multiple platforms (Windows, Unix, MacOS, Docker)

To quote:

  • Output formats: HTML (including Windows HTML Help), LaTeX (for printable PDF versions), ePub, Texinfo, manual pages, plain text

  • Extensive cross-references: semantic markup and automatic links for functions, classes, citations, glossary terms and similar pieces of information

  • Hierarchical structure: easy definition of a document tree, with automatic links to siblings, parents and children

  • Automatic indices: general index as well as a language-specific module indices

  • Contributed extensions: more than 50 extensions contributed by users in a second repository;

3
  • Sorry, should have added a GUI above. While I myself am perfectly happy without it, I'll never get my colleagues (the guys that will actually need to use it for the next few years) to get used to it.
    – Sayuuk
    Nov 10, 2020 at 15:23
  • There is a sphinx-gui readthedocs.org/projects/sphinx-gui github.com/audreyfeldroy/sphinx-gui but not used it myself.
    – Z Z
    Nov 10, 2020 at 15:50
  • I saw those. The last time they got updated was 7/8 years ago - I'm pretty sure they're dead, sadly.
    – Sayuuk
    Nov 10, 2020 at 22:20
0

After having another look at LogicalDoc, I think I may have found what I'm looking for - even though it's not as monolithic a solution as would have been "perfect".

LogicalDoc CE runs as a docker container and uses "about" 2GB of RAM (right now I'm investigating a slow memory leak, might need to restart it every 24h). You're able to upload the docx files (no previews for docx in the CE version) and add them to folders/documents. From those you can link them to other folders or copy a whole folder (including links) to make a new variant.

I'm in the process of creating a .bat script1 that I will package together with docxmerge.exe2 into every document folder so that when you download a document you actually still download the separate pages and merge them in Windows, which in turn gives you a single document you can still adapt for the customer.

This removes any reliance on Windows shortcuts etc (I've checked a few versions to make them more reliable, none worked) and since a) LogicalDoc has been around since 2006 and b) it runs in a separate Docker container and can theoretically handle any file type, I believe it may be a solution that could work for the foreseeable future.

Thanks for all your help!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.