ideascube issueshttps://framagit.org/groups/ideascube/-/issues2017-11-24T12:12:31Zhttps://framagit.org/ideascube/ideascube/-/issues/861Separate library patrons and library staff2017-11-24T12:12:31ZMathieu BridonSeparate library patrons and library staff*This was requested by @Narjis89.*
Basically the staff find it confusing to manage their colleagues and the patrons in the same interface.
This needs design work, and careful thought on the potential changes to the data model.*This was requested by @Narjis89.*
Basically the staff find it confusing to manage their colleagues and the patrons in the same interface.
This needs design work, and careful thought on the potential changes to the data model.https://framagit.org/ideascube/ideascube/-/issues/860Staff need to know that an update is in progress2017-11-24T12:09:59ZMathieu BridonStaff need to know that an update is in progressThis was requested by @Narjis89 and it makes so much sense.
I have no clue how we could do that with our current deployment mode, though. :open_mouth:This was requested by @Narjis89 and it makes so much sense.
I have no clue how we could do that with our current deployment mode, though. :open_mouth:https://framagit.org/ideascube/ideascube/-/issues/835Date format2017-11-23T08:45:57ZToMDate formatThe "When" column shows a "human readable" date, like "One week ago" ; there, we need the exact and full date, like "sunday 2ng August at 23h53"
(meh, can't find that anymore, will edit this bug tomorrow with the help of @Narjis89 :p)The "When" column shows a "human readable" date, like "One week ago" ; there, we need the exact and full date, like "sunday 2ng August at 23h53"
(meh, can't find that anymore, will edit this bug tomorrow with the help of @Narjis89 :p)https://framagit.org/ideascube/ideascube/-/issues/233Hide hotspot koombook / ideasbox from the hostpot listed in the wifi module2017-11-22T14:41:20ZFlorian HESLOUINHide hotspot koombook / ideasbox from the hostpot listed in the wifi moduleI think it could be confusing for people to see the hotspot created by the device. Worst they could try to connect to it. This will not cause any damage but they could get lost somehow.
I think it could be confusing for people to see the hotspot created by the device. Worst they could try to connect to it. This will not cause any damage but they could get lost somehow.
https://framagit.org/ideascube/ideascube/-/issues/858Catalog should check that all migrations have been made before trying to inst...2017-11-09T03:01:49ZMatthieu GautierCatalog should check that all migrations have been made before trying to install a package.With the commit https://framagit.org/ideascube/ideascube/commit/79924f4668d74efb50efbb05bd412762500470f6
The migration of databases is made at launch of ideascube (wsgi).
On ansiblecube side, the migration is made explicitly when the pa...With the commit https://framagit.org/ideascube/ideascube/commit/79924f4668d74efb50efbb05bd412762500470f6
The migration of databases is made at launch of ideascube (wsgi).
On ansiblecube side, the migration is made explicitly when the package is updated.
But if a user update by hand the package and, directly after, try to install media using the catalog, the media installation can fail because of migration not applied.
The catalog should check that all migrations have been correctly applied before try to install media package and stop nicely instead of failing installing media.https://framagit.org/ideascube/ideascube/-/issues/829An empty staticfiles.json causes Internal server error2017-11-01T16:05:21ZFlorian HESLOUINAn empty staticfiles.json causes Internal server errorSome of our devices run into the following issue : "Internal server error".
It appear that the file `/var/ideascube/static/staticfiles.json` somehow get empty.
When the device start, the ideascube software runs migration and crash on...Some of our devices run into the following issue : "Internal server error".
It appear that the file `/var/ideascube/static/staticfiles.json` somehow get empty.
When the device start, the ideascube software runs migration and crash on this empty file (but existing).
Log file says : `no python application found, check your startup logs for errors`
The work around currently is to delete this file and restart uwsgi.
We should investigate, reproduce and profile this error to avoid any wider spread of this issuehttps://framagit.org/ideascube/ideascube/-/issues/857Add a "disconnect" button to the wifi network list in wifi manager2017-10-30T08:24:34ZToMAdd a "disconnect" button to the wifi network list in wifi managerSo far it seems that the only way to disconnect from a WiFi network is to go to the networks history, then click "Forgte the selection".
For example, sometimes the facilitator wants people to focus on a KAlite based activity so disconne...So far it seems that the only way to disconnect from a WiFi network is to go to the networks history, then click "Forgte the selection".
For example, sometimes the facilitator wants people to focus on a KAlite based activity so disconnecting from internet can help.https://framagit.org/ideascube/ideascube/-/issues/854Missing languages2017-10-28T11:53:45ZStevenMissing languagesWe're missing some language support :
```
Adding medias to mediacenter database.
Cannot install media Le livret de santé bilingue traduit en 23 langues_arménien from package arriver-en-france-et-connaitre-ses-droits : Some values are no...We're missing some language support :
```
Adding medias to mediacenter database.
Cannot install media Le livret de santé bilingue traduit en 23 langues_arménien from package arriver-en-france-et-connaitre-ses-droits : Some values are not valid :
- lang: * Select a valid choice. hy is not one of the available choices.
Cannot install media Le livret de santé bilingue traduit en 23 langues_creolehaitien from package arriver-en-france-et-connaitre-ses-droits : Some values are not valid :
- lang: * Select a valid choice. ht is not one of the available choices.
Cannot install media Le livret de santé bilingue traduit en 23 langues_mandarin from package arriver-en-france-et-connaitre-ses-droits : Some values are not valid :
- lang: * Select a valid choice. zh is not one of the available choices.
Cannot install media Le livret de santé bilingue traduit en 23 langues_pular from package arriver-en-france-et-connaitre-ses-droits : Some values are not valid :
- lang: * Select a valid choice. ff is not one of the available choices.
Cannot install media Le livret de santé bilingue traduit en 23 langues_soninké from package arriver-en-france-et-connaitre-ses-droits : Some values are not valid :
- lang: * Select a valid choice. snk is not one of the available choices.
```StevenStevenhttps://framagit.org/ideascube/ideascube/-/issues/480Ideascube catalog install fail with wrong locale2017-10-24T08:22:22ZFlorian HESLOUINIdeascube catalog install fail with wrong localeIdeascube catalog fail when installing package with wrong locale
```
# Pastebin bfe4Ggtl
Rebuilding the Kiwix library
Traceback (most recent call last):
File "/usr/share/python/ideascube/bin/django-admin", line 9, in <module>
loa...Ideascube catalog fail when installing package with wrong locale
```
# Pastebin bfe4Ggtl
Rebuilding the Kiwix library
Traceback (most recent call last):
File "/usr/share/python/ideascube/bin/django-admin", line 9, in <module>
load_entry_point('Django==1.9.8', 'console_scripts', 'django-admin')()
File "/usr/share/python/ideascube/lib/python3.4/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
utility.execute()
File "/usr/share/python/ideascube/lib/python3.4/site-packages/django/core/management/__init__.py", line 345, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/share/python/ideascube/lib/python3.4/site-packages/django/core/management/base.py", line 348, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/share/python/ideascube/lib/python3.4/site-packages/django/core/management/base.py", line 399, in execute
output = self.handle(*args, **options)
File "/usr/share/python/ideascube/lib/python3.4/site-packages/ideascube/serveradmin/management/commands/catalog.py", line 116, in handle
options['func'](options)
File "/usr/share/python/ideascube/lib/python3.4/site-packages/ideascube/serveradmin/management/commands/catalog.py", line 175, in install_packages
self.catalog.install_packages(options['ids'])
File "/usr/share/python/ideascube/lib/python3.4/site-packages/ideascube/serveradmin/catalog.py", line 626, in install_packages
handler.commit()
File "/usr/share/python/ideascube/lib/python3.4/site-packages/ideascube/serveradmin/catalog.py", line 155, in commit
et = etree.parse(f)
File "src/lxml/lxml.etree.pyx", line 3427, in lxml.etree.parse (src/lxml/lxml.etree.c:79840)
File "src/lxml/parser.pxi", line 1814, in lxml.etree._parseDocument (src/lxml/lxml.etree.c:116442)
File "src/lxml/parser.pxi", line 1834, in lxml.etree._parseFilelikeDocument (src/lxml/lxml.etree.c:116734)
File "src/lxml/parser.pxi", line 1729, in lxml.etree._parseDocFromFilelike (src/lxml/lxml.etree.c:115495)
File "src/lxml/parser.pxi", line 1150, in lxml.etree._BaseParser._parseDocFromFilelike (src/lxml/lxml.etree.c:110369)
File "src/lxml/parser.pxi", line 584, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:103583)
File "src/lxml/parser.pxi", line 690, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:105196)
File "src/lxml/lxml.etree.pyx", line 324, in lxml.etree._ExceptionContext._raise_if_stored (src/lxml/lxml.etree.c:10740)
File "src/lxml/parser.pxi", line 362, in lxml.etree._FileReaderContext.copyToBuffer (src/lxml/lxml.etree.c:100948)
File "/usr/share/python/ideascube/lib/python3.4/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd9 in position 232: ordinal not in range(128)
```
Mathieu BridonMathieu Bridonhttps://framagit.org/ideascube/ideascube/-/issues/845Ideascube should allow different right levels.2017-10-12T14:00:47ZStevenIdeascube should allow different right levels.As for now, only two levels are available : admin with full rights and regular user with no rights.
Having an intermediate right level would be really useful. I suggest this "Teacher" level (name is open to suggestions) should be able to...As for now, only two levels are available : admin with full rights and regular user with no rights.
Having an intermediate right level would be really useful. I suggest this "Teacher" level (name is open to suggestions) should be able to :
* Add blog entries.
* Upload medias to mediacenter.
* Manage loans & stock
* Manage entries
This account type should _not_ be able to:
* Add/delete/modify existing users
* Edit server configuration (ie. Wifi hotspot name/password, basically the whole Setting card)https://framagit.org/ideascube/ideascube/-/issues/850Export all user2017-10-10T15:06:54ZNarjis BSFExport all userwhen we want to export the list of all user on the IDB , we only have list of the date when the user was created and the ID number ( I attached an example ) , which it's not helpful at all.
we need to change it to have a list of ( Name ...when we want to export the list of all user on the IDB , we only have list of the date when the user was created and the ID number ( I attached an example ) , which it's not helpful at all.
we need to change it to have a list of ( Name , ID , Age ... ) ,
![export_all_user](/uploads/d91a9304269d5f26dbea1a5f335a70b6/export_all_user.png)https://framagit.org/ideascube/ideascube/-/issues/381Redo catalog validation2017-10-06T09:41:00ZMathieu BridonRedo catalog validationThe local catalog cache is currently downloaded when running the `catalog cache update` command, and... that's all.
Later, when trying to install a new package, we look into the catalog cache to find that package, and only validate the ...The local catalog cache is currently downloaded when running the `catalog cache update` command, and... that's all.
Later, when trying to install a new package, we look into the catalog cache to find that package, and only validate the data at that time.
I think it would be better to validate the data when updating the cache, warning about issues (e.g missing attributes), and only keeping the valid data in the local cache.
This could simplify quite a bit of code, among other things the `fail_if_no_match` boolean thing which is pretty horrible.
https://framagit.org/ideascube/ideascube/-/issues/851TinyMCE doesn't like missing translations2017-09-29T00:10:01ZMathieu BridonTinyMCE doesn't like missing translationsI was testing @Lucas-C's !875.
So I opened the blog "new article" form, with the UI set to Kurdish. This is what I saw:
![Screenshot_from_2017-09-28_16-58-35](/uploads/1a808d559576dee987507280b2747dcf/Screenshot_from_2017-09-28_16-58-3...I was testing @Lucas-C's !875.
So I opened the blog "new article" form, with the UI set to Kurdish. This is what I saw:
![Screenshot_from_2017-09-28_16-58-35](/uploads/1a808d559576dee987507280b2747dcf/Screenshot_from_2017-09-28_16-58-35.png)
Since TinyMCE properly fell back on its default language, can we just silence this error?https://framagit.org/ideascube/ideascube/-/issues/823The YAML catalog is very slow2017-09-25T13:17:54ZMathieu BridonThe YAML catalog is very slowI just tried something on a Koombook.
It has the following remotes:
```
$ ideascube catalog remotes list
[Kiwix] Kiwix ZIM content : http://catalog.ideascube.org/kiwix.yml
[OSMybon] Experimental OSM Maps catalog : http://cata...I just tried something on a Koombook.
It has the following remotes:
```
$ ideascube catalog remotes list
[Kiwix] Kiwix ZIM content : http://catalog.ideascube.org/kiwix.yml
[OSMybon] Experimental OSM Maps catalog : http://catalog.yohanboniface.me/catalog.yml
[Omeka] Omeka packages : http://catalog.ideascube.org/omeka.yml
[StaticSites] Static sites : http://catalog.ideascube.org/static-sites.yml
[bibliotecamovil] Spanish packages : http://catalog.ideascube.org/bibliotecamovil.yml
```
That gives a grand total of 214 available packages (which really isn't much) :
```
$ ideascube catalog list --available | grep -E '^ ' | wc -l
214
```
Loading the cache of available packages:
```
>>> from datetime import datetime
>>> import json
>>> import yaml
>>>
>>> with open('/var/cache/ideascube/catalog/catalog.yml', 'r') as f:
... begin = datetime.now()
... data = yaml.safe_load(f)
... end = datetime.now()
...
>>> (end - begin).total_seconds()
4.460645
```
Dumping it back to the disk:
```
>>> with open('/var/cache/ideascube/catalog/catalog.yaml2', 'w') as f:
... begin = datetime.now()
... yaml.safe_dump(data, f)
... end = datetime.now()
...
>>> (end - begin).total_seconds()
3.118451
```
So let's try dumping that same data as JSON instead, then:
```
>>> with open('/var/cache/ideascube/catalog/catalog.json', 'w') as f:
... begin = datetime.now()
... json.dump(data, f)
... end = datetime.now()
...
>>> (end - begin).total_seconds()
0.101003
```
And loading the JSON back:
```
>>> with open('/var/cache/ideascube/catalog/catalog.json') as f:
... begin = datetime.now()
... data = json.load(f)
... end = datetime.now()
...
>>> (end - begin).total_seconds()
0.019905
```
That's a pretty big difference! :open_mouth:https://framagit.org/ideascube/ideascube/-/issues/849Improve our content type detection2017-09-22T11:23:34ZMathieu BridonImprove our content type detectionThe following discussion from !867 should be addressed:
- [ ] @bochecha started a [discussion](https://framagit.org/ideascube/ideascube/merge_requests/867#note_138907):
> I'm not a big fan of having our own map like this. I unders...The following discussion from !867 should be addressed:
- [ ] @bochecha started a [discussion](https://framagit.org/ideascube/ideascube/merge_requests/867#note_138907):
> I'm not a big fan of having our own map like this. I understand why you did it, and it's probably fine for this pull request.
>
> But eventually, we should really do better.https://framagit.org/ideascube/ideascube/-/issues/848Let's lint our CSS in the CI2017-09-22T09:29:12ZMathieu BridonLet's lint our CSS in the CIThe following discussion from !870 should be addressed:
- [ ] @bochecha started a [discussion](https://framagit.org/ideascube/ideascube/merge_requests/870#note_138730):
> Oh wow, good eye.
>
> We probably need to add a CS...The following discussion from !870 should be addressed:
- [ ] @bochecha started a [discussion](https://framagit.org/ideascube/ideascube/merge_requests/870#note_138730):
> Oh wow, good eye.
>
> We probably need to add a CSS linter to our tests. Know any good one?https://framagit.org/ideascube/ideascube/-/issues/834Columns Date of Birth and Gender are displayed, even if they dont show up in ...2017-09-22T08:10:55ZToMColumns Date of Birth and Gender are displayed, even if they dont show up in the "add user" form.https://framagit.org/ideascube/ideascube/-/issues/847Rewirte/Rethink the backup application2017-09-21T13:49:22ZMatthieu GautierRewirte/Rethink the backup applicationThis is a long therm question.
The backup application doesn't work very well (it is even hidden by default now).
We should really think of how we backup and restore our data and fix this application.This is a long therm question.
The backup application doesn't work very well (it is even hidden by default now).
We should really think of how we backup and restore our data and fix this application.https://framagit.org/ideascube/ideascube/-/issues/392Completely drop support for Zip backups2017-09-21T12:26:45ZMathieu BridonCompletely drop support for Zip backupsWe are [dropping support for creating Zip backups](https://github.com/ideascube/ideascube/pull/387).
Eventually, after a sufficiently long grace period, let's drop all support for Zip backups, even restoring.
We are [dropping support for creating Zip backups](https://github.com/ideascube/ideascube/pull/387).
Eventually, after a sufficiently long grace period, let's drop all support for Zip backups, even restoring.
https://framagit.org/ideascube/ideascube/-/issues/385Tags could be translated2017-09-21T12:19:12ZToMTags could be translatedA non english speaker might be unable to find anything since tags are mostly written in english.
Would that make sense to use some tool like `getext` to automatically build a translated tags list, so one can search (and find!) some arab...A non english speaker might be unable to find anything since tags are mostly written in english.
Would that make sense to use some tool like `getext` to automatically build a translated tags list, so one can search (and find!) some arabic words, for example?