Open binarybottle opened 4 years ago
i wouldn't encourage changing frameworks (girder -> django) right now. there is still a lot you can do with the current setup. i would encourage focusing on the exposed api, the functionality, and the structure of the content that travels between services.
qua multilingual - you can take a look at this section and its examples: https://w3c.github.io/json-ld-syntax/#string-internationalization that's what we are using in reproschema.
also in terms of building the interface, consider moving all content to be viewed dynamically. so store content as jsonld and use javascript + templates to display that. in the above example, you can see that some pieces do not change when the language is changed (landing page). but that should be fixed in the next iteration.
@satra -- For the CL site, there is no girder -- this is a straight PHP/Laravel LAMP stack that we want to be more ML compatible. That means using json-ld with reproschema as you suggest and the ML video/audio/text/questionnaire components. After that, ReactJS and mongodb makes sense for compatibility with the ML stack. All that's left is to choose an api layer, and it's much easier for a developer to apply a known framework like django than an obscure one like girder, let alone our fork of girder.
django does not have an api layer, you create one through the models you put into it. girder actually has an api layer that can be extended.
Sounds like an opportunity to tailor make an api layer! Hey, have you seen the object-document mapper mongoengine?:
https://medium.com/@vasjaforutube/django-mongodb-django-rest-framework-mongoengine-ee4eb5857b9a
yes - i have used all kinds of backends with django, none are as robust as their SQL ORM. you also want to be a bit careful with a project that's not been maintained. i have not used this specific plugin so can't comment on how robust it is.
Replace the CrisisLogger.org website with a stack that will make it easier to maintain/merge with the MindLogger project (https://github.com/ChildMindInstitute/mindlogger-web or https://github.com/ChildMindInstitute/mindlogger-web-react), with React + mongodb + json-ld dictionary of text content, making sure there is a key value mapping that encodes language string. A MindLogger web compatible app would use the video, audio, text, and questionnaire components in the mindlogger-web project with the reproschema.
Satrajit Ghosh at MIT provided an example of a task using reproschema (https://sig.mit.edu/voice-up/#/activities/0) - switch the language between english/spanish. (you may have to click on the burger icon to expand the activities list).