Голосування за "Учасників публікації" або "моїй Мамі присвячується"

Вітаю, шановне товариство. Зустрічайте довгоочікуване оновлення програмного забезпечення Народного Оглядача. Основне завдання, яке стояло перед командою розробки, було створення системи голосування за "Учасників публікації", проте кількість змін, які для цього довелось внести у архітектуру проекту, просто, вражає. Видимий результат цих змін невдовзі кожен зможе оцінити особисто, а зараз я трохи розкажу про все це детальніше.

flowers.jpg

Квіти моїй мамі
Квіти моїй мамі

Детальний перелік здійсненої роботи можна переглянути у циклі місячних планерок, написаних учасниками групи розробки.

У грудні працював з двома речами: 1) усуненнм причин блокування на рівні БД, про які писав у кінці листопада (як результат, була замінена система кешування сутностей та роботи з БД) та 2) завершення переробки сторінок статистики голосувань за користувачів й пошук рішення для показу розширеного контексту голосування. З кінця грудня й по цей час тривало тестування й налагодження всього оновлення сайту.

Тут хочу виділити найзначніші зміни, зроблені за увесь час роботи.

1. Переробка існуючої системи голосування на роботу з будь-якими сутностями даних. Звучить просто, проте, деякі її елементи зовсім не передбачали такої поведінки, тому, довелось писати й заміняти їх на власні рішення. Решта системи була перероблена на використання цих рішень та універсальних підходів.

2. Повний перегляд й переробка системи статистики Галії. Її сторінки все-ще виглядають подібно до попереднього варіанту, але всередині, через величезну кількість вибірок та самих сторінок, довелось кардинально змінити архітектуру цього рішення. З різношерстного конгломерату налаштувань виділяли й виносили за межі типові елементи, які, однотипно, дублювали для кожного окремого розділу й параметру статистики. Перевіряли, чи усі вибірки мають типові налаштування, чи нема випадкових помилок (які, таки, траплялися раніше, потім - виправлялись й у відсутності яких у кінцевому рішенні потрібно було переконатися). Ці типові блоки вибірок підбирались таким чином, щоб бути придатними до роботи з сутностями різних типів, тож, зараз, впровадити новий розділ, наприклад, зі статистикою голосування за коментарі, стало значно простіше. Також усі вибірки було оснащено новою, полегшеною системою роботи зі сторінковістю.

3. Було змінено роботу з записами Галії й перетворено їх на розширювані полями даних сутності. Така потреба виникла через необхідність однотипно працювати з розширеним типовим набором даних, придатним для вмісту інформації з операцій над сутностями різних типів. Наприклад: 1) голосування за матеріали, 2) голосування за користувачів (для інформативності стало потрібно показувати як отримувача, так і відправника, що не було передбачено у роботі лише з матеріалами), 3) голосування за коментарі (взагалі, окрема архітектура, в якій відсутні зв’язуючі елементи, як у попередніх двох варіантах).

4. Створено комплексну систему роботи з блоками даних для голосування. Сюди входять: 1) приховування частини даних на сторінці (переліку операцій та форм голосування) з 2) відкриттям їх у окремих діалогових вікнах чи оверлеях й 3) оновленням частини сторінки (списків операцій з рейтингом) після здійснення операції. Попередня система лише приховувала великі за розміром дані, працювала лише з однією формою голосування на сторінці, призводила до перезавантаження усієї сторінки для оновлення її вмісту й не могла працювати у випадку, коли на цій же сторінці наявні інші сутності з можливістю голосування. Ця нова система - суто наше власне рішення, яке значно покращує вигляд та зручність роботи зі сторінкою.

5. Розроблено систему автоматичного налаштовування значень параметрів СКБД (системи керування базами даних). Було витрачено багато часу на дослідження причин блокування звернень до бази даних та підбором оптимальних параметрів її роботи, тому було необхідно після появи розуміння причин цього явища й усунення появи таких випадків у майбутньому розробити автоматичний механізм для оптимального динамічного налаштовування системи.Система враховує середовище роботи сайту: локальний комп’ютер розробника, сервер розробки та сервер з "живим" сайтом. Параметри потрібні різні, оскільки, наприклад, на серверах розробки доводиться використовувати засоби відладки, що потребують збільшених деяких часових інтервалів при роботі з даними сайту.

6. Систему нарахування внесків роботою розширено можливістю створення довільної кількості видів таких внутрішніх внесків. Це дозволить гнучкіше й ясніше керувати обліком негрошових внесків, або внесків не через наявний на сайті механізм інвестування.

7. Впроваджено нову, багаторівневу систему кешування сутностей сайту та перекладів рядків. Нова система має гнучкі налаштування й дозволяє, підбираючи параметри її роботи, змінювати її поведінку. Наприклад, кількість сутностей, що очікують запису в БД, перед початком, власне, операції запису. Вміє групувати дані для попереднього завантаження на сторінку. Була здійснена спроба впровадження кешування відмальованих сутностей, проте, через вбудовування нами сутностей одних у інші, її використання довелось відкласти до моменту розробки системи відстеження такої ієрархії.

8. Впроваджено нову систему швидкого отримання перекладених рядків.  Швидкість забезпечується вибіркою даних не з БД, а зі скомпільованих двійкових файлів, які використовуються для локалізації усіх двійкових додатків операційної системи сервера.

9. Впроваджено систему версіонування вмісту сторінок та захист коментарів від знищення даних. Ця система може показувати відмінності між різними змереженими редакціями матеріалу, відновлювати раніші редакції. Дозволяє редагувати коментар протягом 5 хв. після його створення.

10. Продовжена робота з переробки існуючих сторінок на керування їх виглядом з адміністративної форми керування полями. Таким чином, перероблено сторінку блогу, створено власні модулі, що надають розширену кількість регіонів, де поля можуть бути розташовані. Це потрібно для впровадження нової теми НО, вихід якої, також, готується.

11. Оновлення складових частин проекту, продовження роботи з виокремлення атомарної функціональності з поточної архітектури й створення нових програмних модулів.  В частині оновлення була виявлена й усунута несправність, яка перешкоджала роботі стандартного механізму оновлення сайту (жорстка зав’язка на роботу з кеш-таблицею напряму у БД, а не через стандартний механізм кешування). Таким чином, усі складові перебувають в актуальному стані, створено широкий набір модулів, кожен з яких виконує одне просте завдання і які є простими для розуміння.

12. Звісно, паралельно з розробкою здійснювалось обслуговування основного сайту й сервера: 1) виправлялись помічені помилки у його роботі (заливання файлів, зникання файлів стилів сторінки), 2) підбирались параметри серверних складових (кешування на рівні веб-сервера), 3) замінювались ті, які показували недостатню надійність у роботі (мережеві файлові системи для резервного копіювання). Здійснена спроба використання досконалішої збірки веб-сервера, яка мала важливі виправлення у роботі з адресами сторінок та динамічному завантаженні модулів, проте роботи довелось відкласти через брак часу на її впровадження.

Насамкінець, хочу перепросити за оголошені та невпроваджені можливості навігації серед коментарів та уніфіковану систему контролю звернень користувачів та постановки завдань на розробку. Ці завдання все ще залишаються високопріоритетними для групи розробки проте, терміни їх впровадження поки-що невизначені.

Іншими, також високопріоритетними завданнями є: 1) огляд наявної системи розподілу ролей користувачів на сайті та впровадження механізму від’ємного голосування 2) початок роботи над нейромережею "Третій Гетьманат".

П.С. Передісторія. Як ви усі знаєте, на прохання пана Ігора, я з осені 2014 року працюю виключно над розробкою Народного оглядача. Це означає, що у мене немає інших джерел доходів, окрім надходжень від акціонерів НО. Мої запити, озвучені панові Ігорю, були дуже скромними. Нижня планка взагалі була орієнтована не на ринкову оцінку праці, а на звичайне "підтримання штанів". Поки у мене ще залишались заощадження, недотримання цих сум мене не хвилювало й я радісно працював над цим проектом. Але так не могло тривати вічно. Восени цього року я вже був бив у дзвони, коли у мене була скрутна фінансова ситуація й пан Ігор, після цього, її скоригував.

А зараз і до суті дійшли. Це оновлення хочу присвятити своїй мамі, яка підтримала мене у час, коли знову, у грудні, сума коштів від Народного оглядача була недостатня, навіть, для "підтримання штанів". Так-от, що вона зробила. Вона взяла місячну пенсію свою, моєї сестри, за якою доглядає, мого батька й віддала все це мені, начебто, "на день народження" сама залишившись, фактично, без фінансових ресурсів (проживає у селі, тож як виживати у таких умовах, навчили суворі 90-ті). Про свій фінансовий стан я їй не говорив, але, звісно, зміна моєї поведінки, коли я перестав відмовлятися від грошей, що вона, пропонувала за періодичну поміч, була їй промовистою.

І цей її вчинок, панове, просто, відкрив мені очі на той стан у якому я опинився. Пан Ігор каже, що це через моє опускання у нижчі простори Буття й що, як тільки, я виберусь вище, все налагодиться. Звісно, все налагодиться, я докладу для цього зусиль. Й хотілося б, щоб це було разом і завдяки роботі над проектом "Народний Оглядач".

П.П.С. Знаю, що серед інвесторів є люди, у яких фінансування проекту НО не схвалюється їх рідними, знаю, що є люди, які дають кошти на НО, самі перебуваючи при цьому на прифронтових територіях. Цим людям я хочу щиро подякувати. А інших я прошу замислитись, наскільки їм потрібен Народний Оглядач й зробити висновки.

П.П.П.С. А ще, на НО, значно погіршилась атмосфера доброзичливості й звідси пішло багато цікавих мені людей. Це так, до слова.

П.П.П.П.С. А ще, може, ви знаєте, що інші розробники, взагалі від НО нічого не отримують... Це так, згадалось завдання з переробки теми сайту під мобільні пристрої.

Але, це все поправимо, я так думаю.

Хай Буде!

Гравець: 
Еней Світлий
416

Новини від RedTram - для збільшення прихильників НО

Loading...
 
Форум Підтримати сайт Довідка