The last couple of weeks have been very hectic. NASA launched a new rover to Mars, Crew Dragon splashed into the Mexican Gulf, and now we’re gonna top it off with a fresh new release of Doksi. This one brings document properties, redesigned admin area, loading indicators showing when fetching resources, and a bunch of minor bug fixes and design refinements.
Document properties
A document is more than just its content. There’s also the meta data. Stuff like author, the date the document was created, a description, purpose and intended audience, and so on.
Instead of us implementing each and every one of these properties whenever someone asks for them, and in the end littering Doksi with hundreds of properties, where you as a user would probably use a handful, we decided to go a different route.
Doksi now allows you to create your own properties and then use them for your document. In this first iteration only site admins can create properties but in the future we will expand this to work the same way classifications and statuses work, where you can create properties scoped for users and teams as well.
A property has a name, a default value, a description and a kind. If the kind is set to Enum
you must also specify a list of allowed values that the user can select from when setting the property for their document.
Loading indicators
When loading a resource or a list of resources, we usually show the page first and then make an API call to fetch the JSON data. During this time, the user will just see a blank white page, then right of a sudden everything jumps around as the resources are being displayed.
Well, not anymore! Now we display some gray bars which a cool flashing effect, before the resources are fetched. This makes the page look a little bit better before the API call has completed.
Admin area
The admin area is starting to take shape. What was just a line of text saying “Stuff goes here” is now a tabbed interface with currently four pages:
- Dashboard shows the version of Doksi (along with the version or Ruby and Rails), and newly created users, teams and documents
- Classifications allows admins to manage globally available document classifications.
- Statuses allows admins to manage globally available document statuses.
- Properties allows admins to manage globally available document properties.