New Article element types
Opened this issue · 0 comments
I've been moving us toward having functionality for different types of elements inside Article
s inside their own classes rather than having such a monumental Article
class.
This will help in a lot of ways but the biggest things have to do with bringing new people into the codebase. Specifically by localising the functionality, it'll be easier for people to trace down bugs, know where to introduce new functionality, test, write documentation for, &c..
So I figured that we should start compiling a list of element classes that should be created as we realise that they exist in the article itself:
- License (complete w/ #81)
- Journal (complete w/#81)
- Dates
- Doi
- Urls
- Url
- Filename
- Contributors (collection)
- Contributor(base_class, raise NotImplementedErrors in init.py)
- Author(Contributor)
- Editor(Contributor)
- Contributor(base_class, raise NotImplementedErrors in init.py)
- Counts (maybe… not sure)
In the case of doi, url and filename the methods currently used to transform them could be contained within the classes, eliminating the need for the transformations scripts and tying the validation directly to the particular kinds of elements.
And there may be others but those are the ones that jump out at me at the moment.