Eyup - it's that Mark Smith!

Building a basic document management system with Elixir - part 2: What is (our) Document Management System?

Years ago, i worked on a big document management system, the sort of thing you'd use to maange the documents for building a power station, with editors around the world and processes to manage the flow of the work.

This ain't that. I'm aiming for something to manage the basic user documents associated with a web application - 'how do you do this?', 'where is the spec for that product?', 'what was in the latest update?' kind of thing.

Daniele Procida (https://vurt.eu/) has developed a framework for documentation (https://diataxis.fr/) that provides 'A systematic approach to technical documentation authoring'. I aim to provide the ability to create and present basic documentation in a manner broadly in alignment with that. Additionally, I want to support the idea of ephemeral documentation that presents 'right now' information that the user of a software product might find valuable.

By documentation, I mean something quite basic, at least to start with: A title, some associated text, and associated metadata:

Right now I'm ruling out images and formatting from the text since I won't be learning much doing those here. They may make an appearance later though.

Where does this fit? In my mind I have a view of a software product 'base set' that provides a lot of core functionality that can be used across domains. If you took the 'base set' and built a system for booking electricians on top of it, then tags used in the job booking system would be the same as the tags in the document system, and the same as those used in purchasing, allowing the automatic linking of disparate parts of the system.

My goal as stated in part 1 is to explore what it means to build such a system in Elixir.

Next time: The basics of the code platform.

#Agile #Elixir #Simplicity