educloudalliance / educloud-bazaar-legacy Goto Github PK
View Code? Open in Web Editor NEWService and material distribution channel
Service and material distribution channel
If I put a product in the basket, then go to basket and try to remove item from there by pressing button "Poista", it will not work.
I can get the product away from the basket by putting amount to zero and hitting "Päivitä".
When listing materials, and in particular on the front page, the sorting order used for showing the results should always be visible (e.g. small text on top of resulst next to "MATERIAALIT" text).
As next stage the order should be user changeable. But at least visible
At least provide a little something in the frontpage: a place to start installing Vagrant etc.
On a CMS resource PUT (/api/cms/{organization}/{collection}/{uuid}/
), newlines (\n
) are added to the "description"
field, sometimes in middle of words. The newlines are shown as spaces in the user interface.
Send subject: history via API, but the web UI shows 'biology' ?
https://demo.pilvivayla.fi/en-gb/catalogue/kuwia-italiasta_37/
New Peda.net users created in to role-db get ""Error: No user with this oid in the database." when using the LMS-API for Bazaar. This might be related to the situation, when the new users have not yet logged in to Bazaar and have no "purchased items" available.
Logging in directly to Bazaar might fix this, but for some reason direct login using EduCloud SSO with Peda.net-JWT-authentication fails.
Linking Peda.net account to EduCloud OID works with the flow:
Peda.net -> EC SSO -> Peda.net-JWT -> EC SSO -> Peda.net
But login flow from Bazaar:
Bazaar -> EC SSO -> Peda.net-JWT -> EC SSO -> Bazaar
fails on returning to Bazaar.
Test account which fails on this can be get from [email protected].
On web ui the 'Owner' field is prominently visible. Is that the material owner and would there be a field in API to enable setting that field up?
As an additional request, the first letter of the owner field should be capitalized.
Siellä täällä nousee epäusko siihen että miten voi luottaa sosiaalien median tunnuksien kautta tehtyihin peukutuksiin tai kommentteihin. Jaa-a. Jokaisen pitää itse osata arvioida esim peukutusmäärien ja kommenttimäärien perusteellla sekä sen tiedon että kuinka monta kertaa hankittu että onko peukutus ja palaute uskottavaa.
Toki voimme käyttäjää varmaankin eri tavoilla tässä auttaa. Voisiko yksi olla se että tallennamme tiedon tunnistusmenetelmästä peukutuksen yhteyteen vai onko se vain joku luku kannassa?
Joka tapauksessa kannattaa seurata eat.fi ympärille syntynyttä keskustelua http://www.hs.fi/ruoka/a1410314487624 se sama saattaa olla meillä edessä.
Stumbled to one of our materials, which causes 500 error from the API. All similar data goes through, but this one did not. Only after removed the tags with scandinavia chars, then it went through?
'tags' => [ "keksinn\x{f6}t", 'kuumailmapallot', "lent\x{e4}minen", 'Pariisi'],
'contributionDate' => '1871-01-04',
If a REST CMS resource (/api/cms/{organization}/{collection}/{uuid}
) is retrieved via GET, the result body contains a "languages"
field, but PUT expects a field named "language"
.
when we search with testi. we can see three items. But there is a item with name: testi4
if I search with 'testi4' it shows 'No results found'
If a REST CMS resource (/api/cms/{organization}/{collection}/{uuid}
) is retrieved via GET, the result body contains a "subject"
field, but PUT expects a field named "subjects"
.
For all to know that there will be domain changes in the near future. This affects all our services whichj have any kind of pilvivayla.fi domain name.
We will move to educloudalliance.org domain.
The transition will happen as soon as COSS informs the capability to do DNS changes. Team (Vesa or Ville) will coordinate this change. In the future COSS manages all DNS records and we will no longer use funet DNS services. Contact Timo Väliharju from COSS to discuss details.
I would like to see in Twitter the most wanted 1-3 products (of the week?), most commented product of the week, and other information (not too much though).
Currently CMS-Basaar API accepts 0-5 tags for each material type.
https://github.com/koulutuksenpilvivayla/pilvivayla-basaari/wiki/API-Definition
In some rare cases it seems that there would be need to have bit more. Would it be possible to increase amount of tags to 7 or 10? We can live with current amount, but have to just drop some tags in some cases, so if impossible just reject this one. ☕
Login works, giving review works, however after giving a review, the acknowledgement message at the end of the screen is given in English:
"Thank you for reviewing this product"
(In Finnish version that could be in Finnish...)
I get the following errors from Chromium console on Ubuntu 14.04:
The page at 'https://demo.pilvivayla.fi/fi/suomenkieliset-tieto-sanomat_9/' was loaded over HTTPS, but displayed insecure content from 'http://api.longurl.org/v2/expand?callback=jQuery19103322337542194873_140844…00%3Flist%3DPLwgL7HJKiz4wQytOQTc3bJbtw_JtDhIkd&format=json&_=1408445152623': this content should also be loaded over HTTPS.
(index):1
Failed to load resource: the server responded with a status of 400 (Bad Request) http://api.longurl.org/v2/expand?callback=jQuery19103322337542194873_140844…00%3Flist%3DPLwgL7HJKiz4wQytOQTc3bJbtw_JtDhIkd&format=json&_=1408445152623
XMLHttpRequest cannot load http://api.longurl.org/v2/expand?callback=jQuery19103322337542194873_140844…00%3Flist%3DPLwgL7HJKiz4wQytOQTc3bJbtw_JtDhIkd&format=json&_=1408445152623. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://demo.pilvivayla.fi' is therefore not allowed access. (index):1
Minor error in CMS-API specification wiki.
📃
Run GET queries to check some fields, and noticed couple of fields are returned empty even though those had data when sent that data to Basaar?
'iconUrl' => undef,
'embedMedia' => []
This e.g. in case of uuid: datapakaihe17
It seems that when experimenting by following a link from Basaari the user agent string doesn't contain 'REFERER' information (E.g. server url etc.) This would be useful for our usage statistics.
When retrieving a resource through GET (/api/cms/{organization}/{collection}/{uuid}/
), the response contains plain boolean fields (e.g. "visible": true
), but PUT expects the fields to be strings (e.g. "visible": "true"
).
Hi, It seems that minimumAge of the API converts directly to the corresponding grade range?
E.g. MinAge: 1, MaxAge: 9 and grade shows as 1-9.
Then second question from LMS workings, if CMS marks certain material to grade: 9, can LMS side then "override" it, if teacher so chooses? I.e. would LMS block certain age range in some cases?
In the API document, all of the JSON fields were marked as bold. Are they all necessary?
Using of the API would be more easier , if the error message of the response would be more verbose. Currently response says: "Error: Missing or invalid json-field. Update failed."
System probably knows which field failed, so please return that information. (If there are multiple fields, either return them all or just first one. Both solutions would enable better ways to fix things.)
Bazaar should send an email with a link to rating after a few days of purchase. This is how for example hotels.com and such get a lot of reviews.
Materials should be sorted as default on based on stars they have gotten. At least untill someone comes up with better sorting idea. If they have no stars, number of downloads should be used.
Actually, when ever there is no explicit sorting requirement (such as matching a search), materials should sorted based on reviews they have been given. Database order or adding order should never be used on any views as sorting principle.
as user story:
As a user searching for materials I want to see the results sorted based primarily on favorites, then based on ratings, then based on views and only after that addition order so that I am morwe likely to find useful and interesting materials.
This should apply for all situations where materials are shown to user, in particular the front page.
At some point there was discussion that there might be some "simplified material inserting form", i.e. some form by which any authorized user, could add material to Basaar? Is there anything going to happen to with it by end of October (or this year)?
There seems to be some needs for it, so thinking whether to just implement sth like that on our side.
As an light-weight UI with couple of user-editable fields for the other kinds of users.
kyyberi@kyyberi:~/Github/pilvivayla-basaari$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Box 'ubuntu12.04' was not found. Fetching box from specified URL for
the provider 'virtualbox'. Note that if the URL does not have
a box for this provider, you should interrupt Vagrant now and add
the box yourself. Otherwise Vagrant will attempt to download the
full box prior to discovering this error.
Downloading box from URL: http://files.vagrantup.com/precise64.box
Box download is resuming from prior download progress
Extracting box...te: 868k/s, Estimated time remaining: --:--:--)
Successfully added box 'ubuntu12.04' with provider 'virtualbox'!
[default] Importing base box 'ubuntu12.04'...
[default] Matching MAC address for NAT networking...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] -- 8000 => 8000 (adapter 1)
[default] Booting VM...
[default] Waiting for machine to boot. This may take a few minutes...
The guest machine entered an invalid state while waiting for it
to boot. Valid states are 'starting, running'. The machine is in the
'poweroff' state. Please verify everything is configured
properly and try again.
If the provider you're using has a GUI that comes with it,
it is often helpful to open that and watch the machine, since the
GUI often has more helpful error messages than Vagrant can retrieve.
For example, if you're using VirtualBox, run vagrant up
while the
VirtualBox GUI is open.
kyyberi@kyyberi:~/Github/pilvivayla-basaari$
Users are pushed/emailed new recipies, links to recipies. Sort of automated yet personalized newsletter which might list the most recent products and recipies. I like this feature in Github, which sends me weekly a message with the above content = sort of curated (but I suspect automated) "most interesting".
We could use this chat engine somehow perhaps http://tlk.io
One minor UI issue, the main page of basaar says 'Sivu 1 9:sta' . I keep wanting for some kind of separator like 1 / 9:sta etc.
Then other thing is suffix: for nine it should be 9:st ä - (like neljästä, viidestä, seitsemästä, 9:stä). If it's 'sta' by default, then the typo will repeat when more pages appear. Maybe just add some separator between current page & max.page and remove the suffix.
According EU we are required to notify user if we use cookies. Oscar uses cookies. Put the module in place https://pypi.python.org/pypi/django-cookie-message/0.1
Hei
Huomasin että kansalliskirjastosta on ansiokkaasti laitettu materiaalia rajapinnan kautta EduCloud basaariin. Ehkä haluaisin vain nostaa esiin sen että kuinka raakaa materiaalia on mielekästä viedä Basaariin.
Nyt käytännössä sinne on laitettu muun muassa joku yksittäinen vanha mainos jostain lehdestä. Tämä tie johtaa siihen että replikoimme kansalliskirjaston metatiedot Basaariin. Se ei varmaan ole mielekästä kenenkään näkökulmasta.
Sen sijaan kansalliskirjaston materiaali tulisi tuotteistaa ja ”niputtaa” mielekkäiksi kokonaisuuksiksi ja ne sitten tuotaisiin basaariin. Yksittäisiin materiaaleihin pääsee jo nyt hyvin käsiksi Kansalliskirjaston käyttöliittymän kautta. Sama kysymys koskee tietysti geneerisesti kaikkia materiaalintuottajia.
Mitä ajatuksia tämä herättää…
Lucas: Can you make an email field as empty when the user login for the first time through mepin service.
At present it shows a [email protected] for every user.
Some test materials in basaar seem to contain HTML-code in description fields. The specification does not seem to say is it by design.
This can be a problem for LMS-systems. Good systems filter the HTML for security reasons and the end result might not be what the publisher was hoping for. Some systems might always print content out as plain text, exposing the HTML, not again what the publisher ment. Bad systems might cause security issues or broken user interfaces by blindly using the HTML.
My proposal would be that description field is always plain text and additional descriptionHTML field might be added as an optional field.
Mitä tietoja mistäkin käyttäjästä tallennetaan meille johonkin lokiin tai tietokantaan? Pitää tehdä jonkin sortin rekisteriseloste tuosta jonnekin linkin taakse. Tämä siis koskenee koko Pilviväylää ei vain basaaria. Kertokaa tässä ketjussa mitä tietoja talllennetaan ja minne sekä miksi. Kootaan sitten niistä yhtemä taskina rekisteriseloste.
In the basket I would like to have a button that removes all content from basket. Might ask for confirmation before doing it.
Possibly put the same button in the left navigation "basket" box next to "view basket"
When sending a REST PUT request to /api/cms/{organization}/{collection}/{uuid}/
with a "tags"
entry containing non-ASCII letters, the request is rejected.
Part of the stack trace (/var/www/pilvivayla-basaari/sites/basaar/apps/api/views.py
in updateExistingItem
):
if "tags" in DATA:
tagList = DATA["tags"]
if len(tagList) > 10:
raise TooMuchTags()
for tag in tagList:
print tag # <== THIS HERE LINE CRASHED
#check if the tag is already in db, if not create it
if Tag.objects.filter(name=tag).exists():
t = Tag.objects.get(name=tag)
t.hasTags.add(obj)
else:
tagEntry = Tag.create()
Tried sending bit more data packs to basaar, but data which should be correct gives 400 BAD REQUEST error from the API?
Is there some quota met? Or some mismatch in the json? (Normally API gives that nice and descriptive complaint of a field value).
Update 15.8. Noticed now that a json is ok when doing update of existing item, but not possible to create a new one. Is there some limit of how many items can one collection can contain? (In that case the error msg could be more descriptive than 400.)
When user search with empty string then empty page is displayed.
So it would be better to show some message or disable the search when it is empty string.
We need to collect statistics/info about the purchases even though all is free now. It would be nice to see what has been "purchased" and where. That information could be given via API as JSON.
Were there plans to add some high-level statistics to API for CMS. I.e.
cms/coll/uuid => { views = 50, purchases = 3, comments = 0, likes = 1, sthelse = 3, inspiredrecipes=1} ?
or
cms/coll/allstats => which would return everything, which one could then put to excel and generate pretty graphs.
(As a CMS, I want statistics from Bazaar, so that I know which materials answers to users' needs. Doesn't have to be via api, some ready-made .csv or html file would be fine also. Whatever is easiest. )
Is the UUID generated by CMS?
Has something changed from yesterday in API? Data sent yesterday, is not approved today. For example cannot send updates to the data sent yesterday, getting just the "Error: Missing or invalid json-field. Update failed."
Tried adding "visible":true, which looked like a new one, but getting:
"Error: Incorrect format in boolean field. Should be either 'true' or 'false'"
E.g. 0, 1 as false , true, would be nice, as then more states for drafts etc. could be added (like in the APIv1).
Get inspired is better term, but now with otherwise Finnish UI that is bit inconsistent - could it be translated to e.g. 'Inspiroidu!' to show it as it is.
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.