-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Доработка на секции и полета в портала #31
Comments
Обмислям да захвана това issue. Имам нужда от повече яснота по съответните точки - кое какво означава и какво се търси като резултат 🐼 Нека започнем с първото - дата на валидност на даден набор от данни;
Ще се радвам на яснота, за да мога да започна да атакувам проблема 😸 |
|
Супер, благодаря за разяснението. Поемам по тази задача 🐼 |
От това, което проучих днес има (горе-долу) следните 2 варианта: Вариант 1 - Rambo style - Пишем директно в CKAN
Така ще постигнем желаният ефект. Днес успях да се plug-на успешно в HTML-а и горе-долу проследих логиката Това, което не ми харесва е, че има повторение на код и логиката е доста абстрактна / сложна. Вариант 2 - CKAN ExtensionТъй като CKAN се промотира като WordPress за данни, то има начин да се пишат extensions Това, което видях е, че има начин да направим точно това, което ни трябва на нас - http://docs.ckan.org/en/latest/extensions/adding-custom-fields.html Единственият минус, който виждам е следният:
Не съм проучвал други места за plug-ване чрез extension„ но от бързият поглед в/у документацията - има. Мнения? 🐼 На мен лично extension метода ми харесва много повече. п.с. Като прегледах https://github.com/ckan/ckan/wiki/List-of-extensions нямаше това, което ни трябва на нас. |
Днес имах доста продуктивен ден 😸 Успях да подкарам CKAN extension, който да добавя custom metafields към формата за създаване / редактиране на dataset + view–то, което показва конкретен dataset. Направих и простата проверка за изтекла дата на даден dataset. Въпреки, че на няколко пъти трябваше да бъркам по CKAN-а, в крайна сметка намерих начин как всичко да стане само през extension–а. Кодът се намира тук - https://github.com/RadoRado/ckanext-extrafields (нямам права да създавам repositories в obshtestvo) За да тествате. може да разцъкате ето тук - http://46.101.159.241/ В картинки, това изглежда така: Двете полета във форматаОсвен, че добавих двете полета във формата, премахнах 3те "extra fields". Ако искаме extra fields, най-добре е да ги добавяме през extension–а. Допълнителна информация и "Прясност" на даннитеКато се създаде даден набор от данни, в таблицата с "допълнителна" информация отиват 2те нови полета + имаме индикация спрямо прясността на данните: Ето и изтекли данни: МотикиДнес настъпих бая мотики, но най-основната беше затрудненото debug-ване на грешки при валидация на поле, добавено от extension - ckan/ckan#2816 Проблемът го реших, като добавих един ред в CKAN–а, да log–вам грешката, за да видя каква точно е тя (в error log-а на Apache, ама това е друга тема): log.info(e.error_dict) Като цяло, това е добра стратегия, за да debug-неш CKAN-а, ако не гърми достатъчно ясно. Въпроси и какво още има за правенеТук към @antitoxic
|
@RadoRado изглежда доста добре! Това, че си успял да го направиш само в extension, е голяма победа. Имам дребна бележка относно избора на име на полетата – струва ми се, че "due date" не е най-подходящото име:
Като мисля за алтернативи, ми идват следните неща наум:
Първите две са сходни и задават докога са актуални данните. Третото е по-различно и указва кога са събрани данните. Тези различни имена ме наведоха на мисълта какво е редно да се записва в това поле – коя дата би имала най-много смисъл. От там се замислих от гледна точка на потребител на данните и от гледна точка на качващ данните, че вероятно най-полезна би била датата, в която са събрани данните. Нещо като "актуално към". Например, ако данните се обобщават веднъж на месец, тази дата би трябвало да бъде датата, в която е направено обобщението. Не кога са качени на портала ("Създаден"), или кога са редактирани метаданните ("Last updated"), за които мисля, че се попълват автоматично – а кога са събрани/компилирани/обобщени. Веднъж събран, всеки набор от данни вече е out of date, понеже не е API в реално време. Затова, смятам, че най-полезна би била дата на създаване/събиране/компилиране на набора от данни и, като допълнително поле, може би в свободен текст, с каква честота се обобщават тези данни. Смятам, че това трябва да се обсъди с Нуша, която има по-добра представа какви набори от данни има и какви нужди имат администрациите, качващи данните. |
@mitio благодаря за предложенията! Как да процедираме? Ако ще говорите с някой от stakeholder-ите, може да изчистим като цяло какви допълнителни полета ни трябват при създаване на dataset или качване на ресурс. Като го имаме, промяната ще стане лесно / бързо. И докато това се изчисти, мога да продължа по другите точки. По втората точка - секция с документи – лицензи, график, РМС 103 и др.; - ще ми трябва повече контекст, защото не съм сигурен, че го разбирам - @antitoxic 🐼 |
@RadoRado , супер работа 🎈
Това не е напълно вярно. Качените набори може да са валидни до дата X. Пример:
По коментарите на @mitio, нека добави ми още 1 поле - Също, именуването на @mitio е супер. Нека полето за дата е
Виж по-горе.
Ok. Don't overdo it. В смисъл, супер, но ме ping-ни ако ще отнеме доста време. |
Ето отчет за какво постигнах до сега в този сравнително продуктивен четвъртък: Добавих каквото трябваше като полета и направих съответните преименувания. 🐼 За да може да тествате, ще пиша в Gitter чата за credentials, да не е твърде public 👂 Ето и нещата подред: Добавена валидацияПо коментара на @antitoxic направих валидация, на ниво Python / CKAN, поне едно от двете полета да са present - Кодът на валидацията се намира тук - https://github.com/RadoRado/ckanext-extrafields/blob/master/ckanext/extrafields/plugin.py#L8 Валидацията се прави след като е минала валидацията на всичките полета. Закачил съм я на някакъв специален Български формат на датитеКъдето се показват дати (с изключения на HTML date input-a), съм ги направил във формат Гледам CKAN–а прави доста по описанителни - слага МотикиЗа съжаление, този guide - http://docs.ckan.org/en/latest/extensions/translating-extensions.html е валиден за CKAN версии > Кодът е готов, имам и преведени string–ове, но те все още не се показват. Когато се мигрира към Преводите са тук - https://github.com/RadoRado/ckanext-extrafields/blob/master/ckanext/extrafields/i18n/bg/LC_MESSAGES/ckanext-extrafields.po Това, с което съм се захванал сега е #1 и мигрирането към Допълнителни въпроси
|
Не, понеже данните може да са събрани за преден период и да са реално неактуални при качване.
Няма нужда. 2.5.1 ftw. |
Така, днес успях да подкарам Може да видите резултата тук - http://178.62.238.76/dataset/courses-hackbulgaria Credentials в gitter. Кодът е качен тук - https://github.com/RadoRado/ckanext-extrafields/ Работят следните сценарии:
Странични ефектиКато страничен ефект от сблъсъка с CKAN extensions се роди това - https://github.com/governmentbg/opendata/blob/master/guides/ckan_extensions.md Следващи стъпкиЧакам feedback по кода / преводите / семантиката. Ако всичко е ОК, може да го тестваме на staging, за да се изловят бъгове. След това мога да минавам към |
Благодарение на @mihail-ivanov изчистих един бъг от extension-a - https://github.com/RadoRado/ckanext-extrafields 😸 За да се инсталира, се правят две неща:
Чакам следващо включване. |
The text was updated successfully, but these errors were encountered: