mumuki / mumuki-bibliotheca-api Goto Github PK
View Code? Open in Web Editor NEW:books: Storage and formatting API for Mumuki content
License: GNU Affero General Public License v3.0
:books: Storage and formatting API for Mumuki content
License: GNU Affero General Public License v3.0
Me está pasando con esta guía: http://bibliotheca.mumuki.io/#/guides/mumukiproject/mumuki-guia-ruby-polimorfismo
Yo tenía un código extra, que ahora quiero borrar y no puedo. La secuencia que más o menos logré sistematizar es esta:
After merging sagrado-corazon-alcal/mumuki-guia-fundamentos-expresiones#5, a few changes seems not to be merged.
For example:
This would be handy for languages with test frameworks developed by ourselves, so we don't have to be backward compatible in its structure.
Currently, if you created and exercise, then exported, then removed or renamed, then reexported, you will get two duplicate exercises on source control
If you import a guide, and you retrieve it by the generated id, it works. But if you import again the same guide, its id changes and fetching it fails.
Bibliotheca is setting expectations
field with an empty list in playgrounds, but that key should not be present
Before saving exercises, bibliotheca should validate inspections using mumukit-inspection
The request fails with error code 500 and message:
POST https://api.github.com/orgs/mi-organization/repos: 403 - You need admin access to the organization before adding a repository to it. // See: https://developer.github.com/v3
The name original_id
is a legacy from mumuki-platform. Here guide and exercise ids should be just id
.
original_id_format
should be also renamed.
If an exercise was removed from source control, it should be also removed from platform
Currently, if the guide is ill-formed, it just produces a 500 error instead of using HTTP 400 and better explaining what is going on.
Currently, our choices support is quite basic: only single or multiple choice.
However, sometimes there may be multiple combinations of choices - for example both {a, b, e} and {b, c, e} may be right, or all choices may be equally right.
We should record who did the change in the git repository for logging purposes.
We could
author
field, setting it like '#{commiter_name} <#{commiter_email}>', at exportTo be able to upload images, we need a folder that is not deleted on each export. That folder should be named assets
and will be ignored by Bibliotheca when exporting.
If you try, you will get a 500 error
Slugs should be always in downcase.
This behavior is quite annoying, since it prevents in most situation to enabled mixed-evaluation exercises.
I have to manually add the removed tests from github in order to make them work.
Add the ability of creating, editing and publishing books also in bibliotheca.
Some notes:
This is what happens now when you try to create a repo.
{"message":"git clone '--' 'https://TOKEN:@github.com/sagrado-corazon-alcal/mumuki-guia-fundamentos-alternativa-condicional-if' '/tmp/mumuki.Bibliotheca::IO::Export20160106-247357-1gq0aqi/.' 2\u003e\u00261:Cloning into '/tmp/mumuki.Bibliotheca::IO::Export20160106-247357-1gq0aqi/.'...\nfatal: https://d3c50216018596b4f4e8eae3d2cbeb3f2196f6b3:@github.com/sagrado-corazon-alcal/mumuki-guia-fundamentos-alternativa-condicional-if/info/refs?service=git-upload-pack not found: did you run git update-server-info on the server?"}
Rescue error when the commit has no changes
This is a complex task. It should involve:
GuideChange
eventWhen using blocks in kids layout, we are assuming a lot of simplifications on the test spec:
subject
scheck_head_position
is always false - right? @NadiaFinzi @luchotcWe should add validation to biblitoheca
- and maybe to the runner itself
In order to allow more people to write their own exercises, providing a simpler interface for entering a test is essential.
Nowadays, the content writer must have a deep understanding of the language, test framework and/or runner details in order to write their own tests.
We should be able to enter simple tests as fixture-tables, using a clean an simple UI. It should translate to a simple, generic, cross-language spec of a test, like the following:
subject: succ
examples:
- arguments:
- 1
return: 2
- arguments:
- 4
return: 5
subject: echo
examples:
- input: helllo
output: hello
- input: world
output: world
examples:
- input: helllo
output: hello
- input: world
output: world
We should still define how we want to declare testing of subroutines that perfom some kind of modification of a global matricial state, like in gobstones, SQL or QSIM.
Ruby-Git gem is now deprecated. We should switch to rugged, which is the new default
Currently Bibliotheca needs the following ENV variables:
MUMUKI_BIBLIOTHECA_CLIENT_SECRET
MUMUKI_BIBLIOTHECA_CLIENT_ID
MUMUKIBOT_GITHUB_TOKEN
ATHENEUM_USER
ATHENEUM_PASSWORD
ATHENEUM_URL
They do not follow any naming convention, nor are documented anywhere. We should fix that.
Currently, when bibliotheca exports a guide as a github repository, it adds a LICENSE.txt
file with CC-SA 4 License. This is fine, except that it should be named as LICENSE
.
By doing such rename, the license of the project gets properly parsed by Github.
Before:
After:
More information here
We are storing guides in github, and its logical ID corresponds to a github repository. However, we should hide that fact, and leave it as an implementation detail
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.