Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Leaderboard

Popular Content

Showing content with the highest reputation on 11/09/2023 in all areas

  1. А при тому, що так ГАРНІШЕ. Я жінка, і подивилася на сайт суто з точки зору покупця (а такі речі зазвичай купують саме жінки). Жінки на такі "плюшки" дуже звертають увагу. Так, чоловіків подібні "мультики" дратують. Але продажі - це не тільки швидкість, це і психологія.
    2 points
  2. Чето то стало таскливо и решил провести анализ версий php у пользователей OpenCart. И решил поделится этой заметкой. Возможно кому-то будет полезно, а может и просто будет инетересно как мне и эта заметка поможет кому-то скоротать чашечку чая. Можно сказать продолжение записки Предыдущая оценка версий php проводилась 9 ноября 2020 Посмотрим что изменилось за 2.5 года в данном вопросе. Для анализа я взял доменные имена указанные клиентами при заказе моих модулей. Информация о версии php была взята из заголовка X-Powered-By То еть из публичного источника. Данные за 09.11.2020 Для наглядности вначале выложу информацию с предыдущей статьи. Но поскольку в тот раз была выборка из 371 приведу информацию в процентном соотношении. Для быстрого и интуитивного сравнения. PHP/5.6 => 38.81% PHP/7.1 => 23.45% PHP/7.2 => 18.86% PHP/7.3 => 12.66% PHP/7.0 => 5.39% PHP/7.4 => 0.80% Данные за 02.05.2023 В этот раз в замере участвовали уже 746 сайтов. PHP/7.3 => 36.05% PHP/7.4 => 20.24% PHP/5.6 => 18.76% PHP/7.2 => 10.45% PHP/7.1 => 10.32% PHP/7.0 => 2.94% PHP/8.1 => 0.93% PHP/8.0 => 0.26% Что для меня было интересно. 1) Почти 22% сайтов до сих пор на версии PHP 5.6 Я сам сторонник теории "Работает не трогай" Но все же версия 5.6 была выпущена еше в 14.11.2013 то есть в этом году ей будет уже 10 лет. 2) Рост популярности версии php 7.1 и новее составил всего 21.29% как по мне маловато учитывая какой прирост скорости php 7 дает. Было 55.77% Стало 77.06% Вроде прирост скорости хороший, и если хочится повысить немного производительность, то переход на новую версию php стоит рассматривать. Это мое субьективное мнение. Ну и на последок оставлю всю выборку, в сыром виде с минорными версиям php
    1 point
  3. Якщо ви використовуєте панелі управління серверами VestaCP/Hestia в режимі Nginx+php-fpm без Apache (то ви вже молодці :). І плануєте встановити (або вже використовуєте) багатомовність з префіксами виду /uk/url.html то перед вами постане одна проблема, яка пов'язана з кривим дефолтним конфігом Nginx в цих панелях. Проблема полягає в тому що сервер не буде обробляти запити типу /uk/index.php?route= і видаватиме помилку 404. Лікуємо. Перед if (!-f $document_root$fastcgi_script_name) { return 404; } в location ~ [^/]\.php(/|$) { потрібно записати if (!-e $request_filename) { rewrite ^/(.+)$ /index.php?_route_=$1 last; }
    1 point
  4. Version ver.0

    5,129 downloads

    Оплата опцій модулей (послуг)
    Free
    1 point
  5. Бажаєте відкрити інтернет магазин? Ось вам швидкий огляд, що чекає на вас на цьому шляху. Я виклав інформацію коротенько, щоб ви мали загальне уявлення. Але кожний з цих кроків – це окрема історія. Причому описувати щось більш розлого в одній статті просто немає сенсу, бо все це потрібно дивитися на практиці, як то кажуть. Цікаве те, що за допомогою цього форуму ви можете потренуватися, свторивши пробний сайт максимально дешево. В окремій статті Створити інтернет-магазин ціна в Україні я підрахував, що мінімальний бюжет може складати всього $42 (це без витрат на домен ~400 грн та хостинг від 122 грн/міс). Також хочу попередити, що я в жодному разі не кажу, що краще все робити самому. Це буде навпаки довше. Але згідно з опитуванням, яке я проводив до війни, ледь не половина респондентів встановили інтернет-магазин самостійно та не мають ніякого адміна. Тобто люди відкривають інтернет магазин та вирішують питання розробки власними силами. Найцікавіше, що деякі з них навіть виходять на добрі прибутки. Отже, до справи. 1. Обираємо товар Якщо ви вже підприємець – тут для вас немає нічого складного, ви просто будете продавати той товар, який продаєте офлайн. Якщо ж ви новачок, який хоче відкрити інтернет магазин так би мовити з нуля, то тут потрібно трохи подумати. Адже, скоріше за все мова йдеться про досить стислий бюджет. В таком випадку багато людей починають за схемою дропшиппінг. Тоді ви просто обираєте серед наявних дропшиппінг-постачальників та відштовхуєтеся від заданих товарів. Бажано, щоб ви хоч трохи розумілися в обраному товарі або він вам був цікавим, що б ви могли його вивчати залюбки. 2. Обираємо домен та хостинг Назва домену має бути співзвучна із темою товарів. В ідеалі не варто змішувати різні товари в одну кучу, краще відкривати окремі магазини під різні теми. Але на практиці буває по-різному. Ще одни варіант – коли назва домену співпадає з назвою вашого бренду. Для покупки домену і хостингу я рекомендую ukraine.com.ua Звісно, це не єдиний варіант, але він досить зручний та популярний. А головне, що сайти на цьому хостингу працюють стабільніше, ніж на деяких VPS. 3. Встановлюємо сайт на хостинг Взагалі є 2 варіанти: використовувати безкоштовний шаблон (якій все одно десь буде мати якісь проблеми), або купити одразу платний гарний шаблон (наприклад ShowCase) з купою вбудованих модулів і не паритися. В першому випадку ви встановлюєте спочатку систему ocStore, а потім вже встановлюєте шаблон. В другому випадку ви можете встановити все одразу з архіву "Швидкий старт" платного шаблону, де вже все налаштовано та виглядає, як на демці. А ще в другому випадку під час покупки ви можете замовити встановлення шаблону, що буває досить зручно. Окрема примітка щодо інозмених шаблонів. В них часто написано, що гарантована сумісність саме з Opencart, а не його збірками. То люди встановлюють саме чистий OpenCart. Але в більшості випадків ті шаблони також будуть сумісні і з ocStore, просто за кордоном про нього мало хто чув. Я раджу використовувати ocStore. Обов’язково перевіряємо, чи є в шаблоні модуль спрощеної корзини. Якщо ні (а його немає в більшості випадків), то встановлюємо на сайті модуль для зручного оформлення замовлень. Наприклад Простое оформление заказа або One Page Checkout. 4. Імпортуємо товари Постачальники надають XML-файли з переліком їх товарів. На форумі є безкоштовний модуль для імпорту товарів з XML. На нього є деякі нарікання. Є також платні модулі на кшалт UniXML. Також деякі постачальники можуть надавати каталог товарів у вигляді xlsx-файлу. Для таких випадків також є модуль Export/Import Tool. Хоча, іноді простіше напарсити товари прямо з сайту постачальника через модуль SimplePars. Звісно з цим модулем потрібно трохи розібратися (а ще більше мабуть в html-тегах), але тоді саме заповнення буде дуже швидким. А якшо в екселі не буде вистачати інформації, то буде потрібно додавати ії вручну, що буде набагато довше. Для випадків, якщо ви є ФОПом та самі виробляєете продукцію, доведеться заповнювати товарі вручну. В цьому вам можливо допоможе модуль Handy Product Manager. Хоча, скоріше за все у вас є програма складського обліку. Існують модулі для експорту товарів в магазин. 5. Створюємо логотип Логотип можна створити взагалі без дизайнера. Просто реєструємось на canva.com та обираємо, що вам до вподоби. При створені логотипу варто враховувати, які кольори обрані в шаблоні. Вони мають бути з однієї кольорової схеми. До речі, там також можно створити банера для соцмереж та сайту. Перший місяць ви можете використовувати сервіс безкоштовно. Але під час реєстрації потрібно додати платіжну картку (це поширена практика на зарубіжних сервісах). Головне потім відписатися від платного тарифу, якщо більше не будете використовувати цей сервіс, щоб гроші не знімало автоматом. Так, звісно, краще, щоб дизайн та логотип робив дизайнер. Але за умов лімітованого бюджету, краще витратити зайві $100-300 на рекламу, ніж на логотип, адже реклама приводить відвідувачив, а логотип не приводить. Тим паче що зробити плюс-мінус не страшний варіант можна за допомогою сучасних веб-сервісів. Існують балачки, що для створення дизайну потрібно обов’язково мати потрет Цільової аудиторії та бла-бла-бла. На практиці мало хто цим заморачується. 6. Робимо мінімальне SEO Додаемо сайт в Google Search Console Встановлюемо Google Analytics Ставимо мовою магазину за замовчення Українську згідно вимог чинного законодавства Робимо коректну двомовність магазину (якщо 2 мови). На мій смак краще робити мовну папку та однакові ЧПУ для всіх мов (шукайте Allow Same SEO URL For Different Languages (OC3.0x)), ніж те, що пропонує OpenCart 3 / ocStore 3 з мовними префіксами або постфіксами в ЧПУ. А щоб було щей з hreflang, як зауважив @chukcha , ось зробив безкоштовний модуль Мовні папки в URL (для ocStore 3.x) на базі іншого безкоштовного модуля ocdev.pro Мультимова, якій мовної папки немає і тому в мій феншуй не вписується). Також є платний модуль SEO мультимова / мультирегіон, якій робить мовні папки та має інші навороти на кшталт папки для окремого регіону, та щей працює з чистим OpenCart. Але він може здаватися трохи складним для новачка, тому в мій феншуй з першого відкриття інтернет-магазину не вписується. Ставимо модуль SEO URL Generator. Там також для ocStore 3 як на мій смак налаштовуємо генерацію ЧПУ від однієї мови (від української) Вмикаємо SeoPro Перевіряємо, чи доступна мапа сайту на всіх мовах сайту. Або, якщо це стороній модуль, то може ще бути такий варіант, коли одна мапа містить сторінки різних мов. Обидва варіанти описані в інструкції Google як рівноцінні. Якщо є або те, або інше – додаємо мапу сайту в Google Search Console Читаємо інструкцію Google про ключові слова – https://support.google.com/google-ads/answer/1704371?hl=uk Читаємо про мета-описи – https://developers.google.com/search/docs/appearance/snippet?hl=ru#meta-descriptions Встановлюємо модуль SEO Tags Generator, та налаштовуємо автоматизацію при стовренні інформативних мета-описів на базі даних про товар, як то ціна, виробник, важливий атрибут тощо. Пишемо тексти для категорій з урахуванням ключового слова (ящко у вас десяток категорій, то можна зробити. А якщо сотні – то вибачайте, це буде дуже довго. Тож зусередьтеся на кількох для початку. Для решти встановить автоматизацію створення мета-описів) Можна написати кілька статей у блог на тему середньо частотних запитів. Але це досить трудомістка справа, тому варто впевнитися, що хоча б перші 3 кудить попали у видачу. Якщо не попали – можливо і не потрібно витрачати на це час. 7. Налаштовуємо рекламу в Google Так, без реклами далеко не поїдеш. Особливо на початку. Але не варто одразу вкладати весь бюджет в це діло. Потрібно обов’язково поставити ліміти на день та на рекламну кампанію загалом. Вважється, що на тест реклами має вистачити $100, щоб подивитися, які результати вона дає. Якщо не дає – змінювати рекламу та тестити ще раз. Варто не просто налаштувати рекламу, а щей ремаркетинг. Для цього на форумі є модуль SP SEO Remarketing All In One Pro 2.3.x - 3.x. Можна також спробувати рекламу в Facebook та Instagram, але там потрібно робити як мінімум 6 варіантів оголошень с 6 різними банерами. Зазвичай лише один з них буде приносити більшість відвідувань, а решта банерів будуть тупо жерти гроші. Саме тому потрібні варіанти, щоб обрати кращий банер і на повну катушку вмикати лише його, прибравши неефективні варіанти. 8. Отримуємо перші замовлення Дивимось на все це з 2 ракурсів: Чи зміг я взагалі привести кліентів Чи вийшло воно вигідно Якщо не зміг отимати ніяких продажів – це поганий знак. Але важливо також бачити, що дійсно були відвідування. Якщо відвідувань було багато, а продажів немає – це якійсь тухляк. Тут без варіантів. Якщо продажі є, але це не дуже вигідно, тут вже можна думати. По-перше, якщо ти запустився за схемою дропшипінгу, то можна перейти на опт, адже ризики вже дуже малі. Ти ж бачив, що товар продається, і ти можешь привести кліентів з Інтернету. Тоді питання лише в ціні закупки. В такому разі й кредит не так стрьомно взяти, якщо це дійсно потрібно (прошу не сприймати як фінансову пораду ). По-друге, через SendPulse можна безкоштовно трохи понадсилати листів кліентам, які в тебе щось купили. Раптом вони куплять ще щось. І при цьому тобі не потрібно платити за рекламу, лише просто надіслати листа. По-третє, можно спробувати знайти схожі товари в інших постачальників, раптом це буде вигідніше. 9. Лише після перших замовлень колупаємось в сайті Маю на увазі всі ті забаганки "зроби мені, як на тому сайті, бо мені сподобалося". Не факт, що то допомагає продавати. А всілякі такі правки потребують оплати грошей розробнику. В інтернет-магазині найголовніше – відвідування, а не всіляки прикрашання. 10. Реєструємо ФОП Цей пункт лише для тих, хто його ще не має. І лише для тих серед них, хто має продажі в магазині. Реєстрація ФОП є безкоштовною. Оформити документи можна прямо в Дії. За спрощенним оподаткуванням ФОП II групи сплачує фіксований платіж 1340 грн/міс (в 2023 році). Це вигідно, бо не залежить від твого прибутку, якщо він гарний; але це не дуже вигідно, коли в тебе прибутку взагалі немає. ФОП III групи сплачує 5% від фактично отриманих грошей (без врахування витрат). Це наче вігідно, коли прибутку немає, але це не вигідно, коли в тебе велика сума витрат. Також ФОП сплачує ЄСВ. В 2023 році він складає 1474 грн /міс. Під час війни його можна не сплачувати. Але, як підмітила @Blondi, й трудовий стаж в такому випадку також не зараховується. Немає сенсу реєструвати ФОП до того, як з'являться продажі. Але, якщо вони вже є, то краще все ж таки легалізувати свою діяльність. Резюме Відкрити інтернет-магазин досить просто. Я маю на увазі, що для цього не потрібно великого капіталу або знаймоств. Це доступно для пересічної людини, яка вміє працювати з комп'ютером. Звісно, це не легка прогулянка, потрібно напружитися. Але все ж таки, це шанс запустити магазин майже з нуля. P.S. У нас тут на форумі досить багато власників інтернет-магазинів. Прошу дописувати в коментарі, якщо пропустив щось важливе. Також можете поділитися власними думками щодо "гадалося так – сталося інакше", звісно, якщо це стосується основної теми статті. Думаю, коментарі будуть ще більш корисними для новачків, ніж сама стаття
    1 point
  6. Короче. Чукчу порвало Попали в "точку" йому. Завіса. Вже йому хоч що пиши (хоч Гугл йому писати буде) він не прийме.
    1 point
  7. Почалася демагогія від чукчі. Кращий захист - це відповісти демагогією. Вам приклади вже привели. Читайте уважно. Вам колега @Eldaeron привів, а я вам ще повторив його цитуванням. Вам замало? Ну так Google "в руки" як мінімум. Потім почитати аналітику інших. Ох ти й дід олдскульний ))) (це по доброму та з повагою). Ніяк швидко не можеш зміни технологій прийняти.
    1 point
  8. ось тут враховується, у вас не буде 100% у цих сторінок)
    1 point
  9. 1. Базове зображення 2. Колекція підготовлених зображень (для вибору) 3 невеличкий скріпт
    1 point
  10. І прощавай LCP Навіщо вам всі ці мультики. Це ж не дитячий садок, а магазин.
    1 point
  11. Спочатку невелике пояснення від нас [не фахівців та юристів у цьому питанні] та посилання на законодавчу базу, далі – коментарі від компаній, які займаються реєстрацією авторських прав і до яких вже зверталися учасники спільноти OpenCartForum. Авторське право в Україні регулює Закон України "Про авторське право і суміжні права". Автором твору може бути як фізична особа, так і юридична особа. Це може бути фізична особа, яка є громадянином України або не є громадянином, але постійно проживає на території України. Або ж юридична особа, яка знаходиться на території України. Об'єктом авторського права є твори у галузі науки літератури та мистецтва. Зокрема, сюди відносяться комп’ютерні програми. Комп’ютерні програми охороняються як літературні твори. Така охорона поширюється на комп’ютерні програми незалежно від способу чи форми їх вираження. Авторське право поширюється і на опубліковані й на неопубліковані твори. Реєстрація авторського права не є обов'язковим кроком. Авторське право виникає з моменту створення контенту. Як зазначено в Законі України "Про авторське право і суміжні права": «Авторське право на твір виникає внаслідок факту його створення. Для виникнення і здійснення авторського права не вимагається реєстрація твору чи будь-яке інше спеціальне його оформлення, а також виконання будь-яких інших формальностей». Суб'єкт авторського права, тобто власник твору, у будь-який час протягом строку охорони авторського права може зареєструвати авторське право. За бажання та потреби, ви можете зареєструвати авторське право. Реєстрація дає додаткову гарантію прав автора. Також при будь-яких судових зверненнях та позовах – це полегшує та пришвидшує процес доведення вашого авторства. _________________________________________________________________________________________________________________ ЕКСПЕРТНИЙ КОМЕНТАР ТА ПОЯСНЕННЯ ВІД ФАХІВЦЯ КОМПАНІЇ INVENTA Розрізняють майнові та не майнові права. До немайнових прав відносяться: • право вимагати визнання свого авторства, шляхом зазначення належним чином імені автора на творі і його примірниках і під час будь-якого його публічного використання; • право забороняти під час публічного використання твору згадування свого імені, якщо він як автор твору бажає залишитись анонімом; • право вибирати псевдонім, зазначати й вимагати зазначення псевдоніма на творі і його примірниках і під час будь-якого його публічного використання; • право вимагати збереження цілісності твору і протидіяти будь-якому перекрученню, спотворенню чи іншій зміні твору або будь-якому іншому посяганню на твір, що може зашкодити честі й репутації автора. До майнових прав відносяться: • виключне право на використання твору; • виключне право на дозвіл або заборону використання твору іншими особами. З майнових прав випливає право автора забороняти їх відтворення, публічне виконання, переробку та ін. Крім того, саме на підставі майнових прав автор має можливість отримувати винагороду за використання свого твору. Закон встановлює термін дії майнових прав автора протягом усього життя автора і 70 років після його смерті (винагороду за використання твору після смерті автора отримують його спадкоємці). Немайнові права автора охороняються безстроково. Відповідно до Закону передбачена охорона комп'ютерних програм за допомогою механізму авторського права за аналогією з літературними творами. Це означає, що захист авторським правом поширюється саме на текст коду і не поширюється на принципи, методи, процеси або процедури, які використовуються в програмі. По суті, авторське право захищає не алгоритм (ідею), а її матеріальне втілення, представлене у вигляді набору чисел, слів, кодів, схем, символів чи в будь-якому іншому вигляді, який може зчитувати комп'ютер. Але, разом з тим, тільки реєстрація авторського права на комп'ютерну програму (базу даних, сайт) дає можливість отримати охоронний документ (свідоцтво), який підтверджує приналежність авторських прав тій чи іншій особі. Свідоцтво є єдиним переконливим засобом підтвердження свого авторства на твір у разі його неправомірного використання іншими особами, в судових справах, при укладанні угод на отримання винагороди за використання програми тощо. З метою виключення отримання відмови в реєстрації Вашого твору, ми пропонуємо Вам скористатися послугами наших патентних повірених, які підготують і оформлять документи, необхідних для подання заявки. Загальна вартість реєстрації авторських прав в Україні, включаючи державні збори, становить для фізичних осіб - 2100,00 грн, а для юридичних осіб - 2800,00 грн. (вказана вартість з урахуванням послуг компанії Inventa). Перелік документів, необхідних для подачі заявки на реєстрацію авторського права на комп'ютерну програму: 1. Вихідний код комп'ютерної програми (в паперовому або електронному вигляді) в довільному обсязі. 2. Керівництво користувача комп'ютерною програмою у вільній формі. 3. Відомості про автора або авторів твору українською мовою (ПІБ, місце проживання, дата народження). 4. Відомості про замовника, якщо комп'ютерна програма була розроблена третіми особами на підставі договору. 5. Довіреність патентним повіреним на представництво інтересів автора. _____________________________________________________________________________________ ЕКСПЕРТНИЙ КОМЕНТАР ТА ПОЯСНЕННЯ ВІД ФАХІВЦЯ КОМПАНІЇ PRIMA VERITAS IP Law Firm Застереження: в даній консультації-статті ми говоримо про індивідуального розробника, який самостійно, у вільний час створює програмне забезпечення (далі – «ПЗ»), без умов наявності роботодавця, замовника і т.д. Стрімкий прогрес людства породжує бум у виникненні нових обʼєктів, в тому числі й обʼєктів інтелектуальної власності. Тому, дуже важливо для розробників розуміти, які саме в них є права та можливості, які дає авторське право. Перед тим, як почати виклад основного матеріалу, варто зазначити, що в контексті загального правила, ПЗ захищається саме як обʼєкт авторського права, тобто як звичайний твір. Тому далі по тексту буде йти мова і про твір, і про ПЗ, які по суті є тотожними поняттями. Отже, авторське право – це сукупність прав, що виникають в автора з моменту створення твору. Його державна реєстрація НЕ вимагається. Тобто ключовим тут є саме момент створення твору, тобто певне його обʼєктивне вираження. Для підтвердження прав на ПЗ необхідно мати наступні докази: 1. Зафіксовану дату первинного опублікування (наприклад, момент завантаження ПЗ на сервер з фіксацією дати та часу). 2. Зафіксовано імʼя автора твору (наприклад, при завантаженні коду на сервер є можливість фіксації імені особи, що його завантажує). Вказані дві обставини й будуть вашими доказами перед плагіаторами чи в інших спірних ситуаціях, що: а) ви дійсний автор написаного коду; б) буде дійсний доказ того, що ви перший його створили. Якщо у вас є сумніви щодо того, чи можливо зафіксувати власне імʼя та час створення твору певними програмними засобами, ви можете скористатися реєстрацією авторського права на твір. В Україні такою реєстрацією займається спеціальний ІР офіс – Український національний офіс інтелектуальної власності та інновацій (скорочено – УКРНОІВІ) і його підтвердження чи перереєстрація в інших країнах не вимагається. Як вже було зазначено, відповідно до загальної світової практики, ПЗ (сам код) захищається як обʼєкт авторського права, а саме як літературний твір. Однак не все так просто. Як літературний твір може підлягати захисту вихідний та обʼєктний код, а також назва компʼютерної програми. А що робити з графічним інтерфейсом? Як літературний твір разом з кодом він захиститися не може, однак окремі його елементи можуть бути захищені як художні твори, анімовані елементи можна буде подати на захист як аудіовізуальні твори, а музику як музичні твори. Реєстрація авторського права доволі швидкий процес. Заявка розглядається протягом місяця і якщо в експерта не зʼявиться запит на виправлення даних або додаткових документів, протягом наступного місяця заклад експертизи готує до видачі й надсилання Свідоцтва про реєстрацію авторського права на твір. Державний збір за реєстрацію одного обʼєкта становить 255,00 грн, якщо твір заявляється від імені фізичної особи та 510,00 грн, якщо заявником є юридична особа. При цьому всьому, під час воєнного стану дозволили подавати заявки на реєстрацію трьома способами: • засобами поштового зв’язку за адресою УКРНОІВІ - 01601, вул. Дмитра Годзенка, 1 (вул. Глазунова, 1), м.Київ; • через поштову скриньку безпосередньо за адресою УКРНОІВІ - вул. Дмитра Годзенка, 1 (вул. Глазунова, 1), м.Київ; • в електронному вигляді через електронну систему СЕВ ЗЕС УКРНОІВІ. І ми підходимо до найцікавішого – документи, які складають заявку про реєстрацію авторського права на твір: ⁃ заповнена заява, актуальний зразок якої розміщений за посиланням ⁃ примірник твору у матеріальній формі (тобто, вихідний код вивантажений в формат word) або збережений код на диску, якщо ви подаєте наочно або засобами поштового звʼязку; ⁃ настанова щодо використання КП; ⁃ квитанція про сплату збору за підготовку до державної реєстрації авторського права на твір; ⁃ при реєстрації авторського права на базу даних, додатково додається настанова щодо використання бази даних і опис структури бази даних; Переваги реєстрації авторського права: 1. Дає беззаперечну презумпцію авторства. Тобто, вам кожного разу не потрібно надавати цілу тонну документів і скріншотів в спірних ситуаціях 2. Наявність свідоцтва дозволить безпроблемно і безперешкодно розпоряджатися своїми правами: видавати ліцензії, передати права третій особі, внести в статутний капітал компанії й т.д. 3. Наявність свідоцтва задовольнить ваших інвесторів, оскільки наявність свідоцтва свідчить про наявність саме у вас прав на ПЗ, відповідно, ризиків вкладати кошти у розвиток ПЗ набагато менший. Додаткові відповіді на питання: 1. «Консультувався з юристом. Він каже що модуль це послідовність рядків вихідного коду. Ок. Зареєструю на модуль версії 7.5, а якщо будуть там зміни? Або якщо буде нова версія модуля - як тоді будуть працювати авторські права? Дякую» 2. «Чи насправді потрібно реєструвати окремо кожну версію додатка? Наприклад, є версія 1.3.0, а коли виходить фікс 1.3.1, який може містити зміну одного рядка, все одно це потрібно реєструвати, як окремий об'єкт авторського права?» Щодо питання 1-2. Наголошуємо на тому, що авторське право не потребує обовʼязкової державної реєстрації. В чому суть авторського права? Захист створеного творчою працею оригінального обʼєкта (твору). Тобто, охороноздатний обʼєкт в широкому розумінні має включати дві складові: створений творчою працею і має бути оригінальним. Тому, якщо нова версія містить щось революційно нове в порівнянні з попередньою – звичайно, краще реєструвати нову версію як новий обʼєкт авторського права. Якщо вона лише щось оптимізує – сенсу немає. 3. «Припустимо, що авторське право зареєстроване, які методи впливу на піратський сайт – чи можна вимагати у хостера закриття сайту, чи у платіжної системи відключення оплат? На якій підставі? І що їм може бути, в разі відмови піти на зустріч? Зрозуміло, що це все в такому контексті, що мало хто з авторів має реальну змогу судитися.» З наявним Свідоцтвом набагато легше писати скаргу реєстранту доменного імені та хостинг провайдеру. Щодо зареєстрованих обʼєктів вони швидше реагують, особливо, коли це українські компанії. Зазвичай, з такими скаргами швидше можна дізнатися, яка саме особа є реєстрантом доменного імені й, відповідно, готувати скарги, претензії та позовні заяви. Також, з наявним Свідоцтвом легше комунікувати з майданчиками типу App Store, Play Market щодо порушення ваших прав третіми особами 4. «Цікаво актуальний перелік необхідних документів + перелік всіх квитанцій на оплату зборів» Перелік необхідних документів зазначений вище. _______________________________________________________________________ ЩО ПРО РЕЄСТРАЦІЮ АВТОРСЬКОГО ПРАВА КАЖУТЬ РОЗРОБНИКИ – УЧАСНИКИ СПІЛЬНОТИ OPENCARTFORUM, ЯКІ ВЖЕ МАЛИ ТАКИЙ ДОСВІД Коментар від SooR, автор модуля OCFilter - Модуль фильтру товарів 4.8.0.19.1: «Реєстрація дуже проста та для її старту потрібно надати всю необхідну інформацію стосовно твору вашому агенту реєстратору. Це опис програми, декілька листів коду програми (намагайтеся надати найбільш унікальний код програми, який писали саме ви і який відрізняє вашу програму від інших). Реєстратором у мене була компанія Inventa. Замовляв у січні 2022, тоді це коштувало 1700 грн. По термінам в нормальних умовах було б до 3-х місяців, але через війну трохи затянулось і свідоцтво я отримав у травні 2022. Це дуже важлива річ, так як власник такого свідоцтва може захищати свій продукт подаючи офіційні запити на видалення посилань із Google: Як повідомити про потенційне порушення авторських прав (Google) Також давати посилання на витяг будь-якому органу для підтвердження авторського права та вимог щодо дій відносно розташування програми на інтернет-ресурсах (наприклад, скарга до платіжної системи варезного сайту). https://sis.ukrpatent.org/uk/search/detail/тут_id_запису/» Є нюанс, що коли публікується нова версія розширення, іноді потрібна повторна реєстрація». Підкажіть, будь ласка, ви реєстрували модуль разово? Після випуску оновлення модуля ніяких дій не робили: «Версія ПЗ не вказується та я не бачив її на сертифікаті. Може його можна оновити, додавши новий код, але я теж цього не робив і не цікавився поки що». Коментар від octemplates, автор шаблонів: UltraStore, ReMarket, Showcase, FeelMart: Поділіться, будь ласка, контактами компанії, де особисто ви реєстрували авторські права: «Патентно-правова компанія ТОВ "Інвента" Сайт: https://www.inventa.ua/ua Вже деякі розробники теж там реєстрували авторське право по моїм рекомендаціям». В який момент та чому саме почали замислюватися про реєстрацію авторських прав: «Коли напевно побачив як мій продукт поширився по всіх варезо-піратських помийках». Скільки часу зайняв процес особисто у вашому випадку: «Час реєстрації авторського права на одну програму займає 1-2 місяці». Чи змінилося щось після реєстрації авторських прав: «Можна як мінімум тримати чисту видачу від варезу під свій продукт, але це треба робити постійно (маю на увазі моніторинг видачі). Одну сторінку блокують, зʼявляються пʼять інших (» Чому на вашу думку авторам розширень важливо реєструвати авторські права: «Тому що це єдина можливість захисту свойого інтелектуального твору і це дуже важливо. Я особисто рекомендую не відкладати цю справу на якийсь час на потім, треба це робити вже зараз. Також думаю у кожного розробника є бажання суттєво ускладнити життя піратам на варезо-помийках.» ЗГІДНО З ЗАКОНОМ УКРАЇНИ "ПРО АВТОРСЬКЕ ПРАВО ТА СУМІЖНІ ПРАВА" ЩО Є ПОРУШЕННЯМ АВТОРСЬКОГО ТА СУМІЖНИХ ПРАВ ВІДПОВІДНО ДО ЗАКОНУ УКРАЇНИ: а) вчинення будь-якою особою дій, які порушують особисті немайнові права суб’єктів авторського права і (або) суміжних прав, визначені статтями 14 і 38 цього Закону, та їхні майнові права, визначені статтями 15, 17, 27, 39-41 цього Закону, з урахуванням умов використання об’єктів авторського права і (або) суміжних прав, передбачених статтями 21-25, 42, 43 цього Закону, а також зловживання посадовими особами організації колективного управління службовим становищем, що призвело до невиплати або неналежних розподілу і виплати винагороди правовласникам; б) піратство у сфері авторського права і (або) суміжних прав – опублікування, відтворення, ввезення на митну територію України, вивезення з митної території України і розповсюдження контрафактних примірників творів (у тому числі комп’ютерних програм і баз даних), фонограм, відеограм, незаконне оприлюднення програм організацій мовлення, камкординг, кардшейрінг, а також Інтернет-піратство, тобто вчинення будь-яких дій, які відповідно до цієї статті визнаються порушенням авторського права і (або) суміжних прав з використанням мережі Інтернет; в) плагіат – оприлюднення (опублікування), повністю або частково, чужого твору під іменем особи, яка не є автором цього твору; г) ввезення на митну територію України без дозволу осіб, які мають авторське право і (або) суміжні права, примірників творів (у тому числі комп’ютерних програм і баз даних), фонограм, відеограм, програм мовлення; д) вчинення дій, що створюють загрозу порушення авторського права і (або) суміжних прав; е) будь-які дії для свідомого обходу технічних засобів захисту авторського права і (або) суміжних прав, зокрема виготовлення, розповсюдження, ввезення з метою розповсюдження і застосування засобів для такого обходу; є) підроблення, зміна чи вилучення інформації, зокрема в електронній формі, про управління правами без дозволу суб’єктів авторського права і (або) суміжних прав чи особи, яка здійснює таке управління; ж) розповсюдження, ввезення на митну територію України з метою розповсюдження, публічне сповіщення об’єктів авторського права і (або) суміжних прав, з яких без дозволу суб’єктів авторського права і (або) суміжних прав вилучена чи змінена інформація про управління правами, зокрема в електронній формі; з) камкординг, кардшейрінг. Отже, ви можете або зареєструвати авторське право самостійно, або ж звернутися за допомогою до компанії, яка цим займається. Алгоритм дій та вартість описаний вище. Ще раз. Чому важливо це робити. Поки що в Україні не надто поширена культура захисту авторського права. На жаль, часто можна зустріти свій модуль чи шаблон на ресурсах, які незаконно поширюють розширення інших авторів. Ні про яке вказання авторства на такого формату ресурсах не йдеться. І поки, реєстрація авторського права це фактично єдиний спосіб захистити своє розширення. Діліться в коментарях своїм досвідом реєстрації або ж відмови від реєстрації авторських прав. Чому саме прийняли таке рішення?
    1 point
  12. В Інтернеті зустрічається ствердження, що OpenCart застарів. Чи так це насправді? Що саме в такому разі є застарілим та як це впливає на ваш бізнес? Давайте розбиратися! Щоб розглянути це питання я запитав думку колег, “позалипав” в діалозі з ChatGPT, “пошустрив” інтернет та склав таблицю фактів. Вийшов дуже лонгрід, який варто читати лише під настрій 🙂. Для зручності, я виклав інформацію в зворотньому порядку: спочатку узагальнення з таблицями, а потім все решта. Зміст: Оцінка відповідності OpenCart сучасним вимогам користувачив Думка учасників спільноти Бесіда з Chat GPT за OpenCart Цікаві факти Оцінка відповідності OpenCart сучасним вимогам користувачив Варто зазначити, що перш за все я намагався оцінити OpenCart не з точки зору внутрішньої будови, а з точки зору використання користувачем. Адже є такій важливий принцип, що робочий продукт — перш за все. Або ще варіант: код – це не продукт, а хороший код – не породжує хороший продукт. Короче, морозиво я оцінюю за смаком під час його поїдання, звертаючи увагу на смак, а не ходячи по заводу морозива, та спостерігаючи, за технологічними процессами його виготовлення. Варто зізнатися, що коли в магазині я обираю морозиво, я ще не знаю, яке воно на смак. І тут мені на допомогу приходять певні “технічні деталі”: тобто я дивлюся на маркування ДСТУ, бо в одному випадку там має бути трохи справжнього молока, а в решті – чорт знає що. Так само і для вашого веб-сайту мають бути якісь стандарти, які потрібно врахувати. Відповідність OpenCart поточним веб-стандартам Перелік актуальних поточних стандартів взяті із сайту Mozilla – https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/The_web_and_web_standards Конфіденційність і безпека Ці два поняття пов’язані, але різні. Конфіденційність означає, що ви дозволяєте людям займатися своїми справами приватно, не шпигуєте за ними чи не збираєте більше їхніх даних, ніж вам це абсолютно необхідно. Безпека означає створення вашого веб-сайту безпечним способом, щоб зловмисники не могли викрасти інформацію, що міститься на ньому, у вас або ваших користувачів. Найяскравішими прикладами для цього пункту є: SSL – OpenCart будь якої версії працює з безпечним сучасним протоколом. Паролі користувачів в базі даних зберігаються в захищеному вигляді Раніше модуль авторизації викоритовував методи хешизації паролів md5() и sha1(). В OpenCart 4 використовується більш надійні та сучасні функції password_hash() та password_verify() Врахування чинного законодавства при обробці даних. Наприклад, GDPR. Для OpenCart 3 доступні розширення. В OpenCart 4 є модуль з коробки. Адаптивний веб-дизайн Є завдяки Bootstrap. Клієнти можуть переглядати ваш магазин з телефону. Немає питань. Хоча в OpenCart 3 використовував застарілий Bootstrap 3, це взагалі не помітно для користувача. Також деякі розробники шаблонів використовували більш сучасні версії. OpenCart 4 використовує останню версію Bootstrap 5. Кросбраузерність Щоб дії із сайтом були доступні також в різних браузерах використовується бібліотека jQuery. Вона не вважається просунутою з точки зору сучасного програмування, але свою роботу виконує. Так само в OpenCart 3 використовується застаріла версія, а у четвірці – актуальна. Швидкість завантаження Оозначає якнайшвидше завантаження веб-сайтів, але також інтуїтивно зрозумілі та прості у використанні, щоб користувачі не розчарувалися й не пішли кудись ще. Швидкість сторінок не так вже й сильно залежить від CMS. Є багато факторів: Кількість товарів в базі даних. Чим більше товарів, тим уповільнюється їх сортування в базі. Кількість встановлених модулів, які використовуються на сторінці та роблять запити до бази Параметри серверу (або хостингу) – чим він слабший (або переповнений сусідами), тим гірше буде працювати ваш сайт Кількість одночасних відвідувань сайту Розмір зображень та використання webp. Краще не завантажуйте фото з розмірами більше 900px, бо вони будуть важкими. Наявність шрифтів на сторонніх ресурсах (Google Fonts) – залежить від шаблону. Більш-мень залежними від CMS є: Методи оптимізації веб-сторінок (на кшатлт Lazy loading та інше) – не запроваждені для прикладу в дефолтному шаблоны OpenCart, але реалізуються авторами шаблонів Структура бази даних OpenCart спроектована саме під магазини, і це трохи краще, ніж в разі використання CMS загального значення для створення магазину. SQL-запити – якщо відредагувати кілька SQL-запитів, то OpenCart тягне досить велику кількість товарів. Ситуація, коли користувач жаліється на проблеми зі швидкістю з 300 товарами (а я десь зустрічав таке обговорення) – це нонсенс. Знаю точно, що деяки люди, читаючи про невибагливість цієї CMS, беруть найдешевший хостинг. Потрібно брати хороший хостинг, що все одно дешевше, ніж оренда сервера. Кешування – в OpenCart вбудований слабкий механізм кешування, є модулі, які покращують це. Кешування буває різним. Але суть така, що замість запиту до бази даних (а в динамічному сайті кожне відкриття сторінки означає нові запити) використовуються вже знайдені під час попереднього відкриття (іншим користувачем) дані, які, скоріше за все, не встигли змінитися. Найбільш ефективним є кешування сторінки категорії, коли замість сортування серед тисяч товарів, робиться запит про дані поточної категорії, та відображається відповідна їй вже підготовлена сторінка. Варто зазначити, що можливе також кешування на рівні серверу бази даних, але це доступно в разі VPS/VDS, а не звичаного хостингу. Доступність Означає зробити ваші веб-сайти придатними для використання якомога більшою кількістю різних типів людей (пов’язаними поняттями є різноманітність і інклюзивність, а також інклюзивний дизайн). Це стосується людей з обмеженими можливостями: як люди з вадами зору, так і люди з ненадійним або повільним з’єднанням з мережею. В OpenCart нічого не зроблено для забезпечення більшої доступності магазину серед людей з обмеженими можливостями. Але це загалом не дуже розповсюджена штука. Інтернаціоналізація Означає зробити веб-сайти придатними для використання людьми з різних культур, які розмовляють різними мовами. Тут є технічні міркування (наприклад, зміна вашого макета, щоб він все ще добре працював для мов із написанням справа наліво або навіть вертикальних мов) і людські (наприклад, використання простої мови без сленгу, щоб люди, які знають вашу мову оскільки їхня друга або третя мова, швидше за все, зрозуміє ваш текст). В OpenCart є мультимовність. Немає RTL (що не дуже актуально для України). Інші важливі технічні моменти Можливість фізично запустити з актуальною версією PHP У OpenCart 2 є проблеми із запуском на PHP 7.2 та вище. Хоча насправді проблема фіксиця досить легко, і потім все решта працює. Але все ж таки без танців з бубнами воно тупо не запускається. То, мабуть, це приклад прямої технічної неробочості в заданих умовах. Також зазвичай на хостингу можна перемикати версії PHP і запускати OpenCart 2 на більш давніх версіях PHP. Але з міркувань безпеки робити це не рекомендуеться. Адже старі версії мови не виправляються. А як можна побачити, вразливостей в PHP може бути достатньо – https://www.cvedetails.com/product/128/PHP-PHP.html?vendor_id=74 Наразі оновлюється лише версія PHP 8+ – https://www.php.net/supported-versions.php . OpenCart 3.0.3.8 працює з PHP 8. Для OpenCart 4 саме ця версія мови заявлена в системних вимогах. В ocStore 3.0.3.7 на PHP 8 шаблонізатор Twig “свариться” на Deprecated методи. Хоча, фіксиця досить швидко. Не виключено також, що помилка вже також пофіксина в самій збірці (після моменту написання цих рядків). Можливість запустити на віртуальному хостингу Звісно, деякі інші платформи електронної комерції також можна запустити на віртуальному хостингу, але працювати вони будуть повільніше, ніж опенкарт. Все через те, що він побудований на досить простому коді, якій при цьому потребує меньших ресурсів. Використання двигуна MyISAM для бази даних Хоча цей механізм зберігання даних досі підтримується, він має суттєві недоліки у порівнянні з InnoDB. Головним недоліком є цілісність даних та блокування цілих таблиць під час редагування всього одного запису. Як це впливає на магазин? По-перше, можуть бути неточності залишків товарів. Хм, до речі, а постачальних вам взагалі дав точну кількість запасів, чи потрібно під час замовлення перевіряти? Ви зрозуміли до чого я – що технічна можливість вести точний облік не гарантує, що він буде вестися. По-друге, це означає, що коли ви робити будь які масові дії із сайтом (імпорт, крон-завдання), блокуються цілі таблиці в базі. Користувачі мають зачекати, коли оновлення завершаться. Використання InnoDB не потребує додаткових витрат на хостинг. І це можна замінити без наслідків прямо в phpMyAdmin. Звісно це автоматично не ввімкне таку перевагу цього двигуна, як використання транзакцій (що може забезпечити правильний облік залишків товарів), але принаймні сайт не буде блокуватися клієнтам, коли ви щось редагуватимите. До речи в OpenCart 4 використовується InnoDB. Але не певен що там вдосконалити корзину, щоб правильно рахувати залишки. В будь якому випадку торгівельні компанії використовують окремі інструменти складського обліку та CRM-системами, з якими інтегрують магазин. Юзабіліті Drug & Drop Коли є Drug & Drop, ми маємо вручну проставлянням індекси, щоб сортувати порядок категорій, товарів. Можна сказати, що це застарілість інтерфейсу. Але є модулі, які щось там допомагають відсортувати, взагалі іншим чином, а не через використання вбудованого сортування. До речи, це ще добре, що в ocStore той Drug & Drop доданий для сортування товарів в модулі “Рекомендовані”. Бо інакаше доводиться видаляти кілька товарів, щоб потім знову їх додати після іншого товара, які став актуальнішим. Так само в ocStore Drug & Drop додано перетягування в Макетах. Хоча, редагування макетів виконується досить рідко, все ж таки простіже перемістити, ніж видаляти-додавати. Ефект безперервної дії Через обмеження людської уваги, робота, як потребує перерватися на іншу дію (перейти на іншу вкладинку) надмірно завантажую людську память. В OpenCart достатньо таких речей, коли ти редагуєшь товар або модуль, маєш що почати писати для автокомпліта, але ти ж не пам'ятаєш всі ті назви товарів та атрибутів. Так, під час заповлення атрибутів в товарі, потрбіно відкрити нову вкладинку з атрибутами та подивитися, які атрибути в тебе які назви мають. Але не певен, що на інших платформах такі речи реалізовані якось дуже інашке. Хіба що іноді буває закріплення набору атрибутів до всієї категорії, щоб не робити це для кожного товару по десяту разів. В OpenCart для такого є модуль. З цієї ж опери: вибір товарів в будь якому модулі (на кшталт Рекомендованих). Потрібно обирати по назві. Це досить незручно (особиво, коли назви товарів дуже схожі). Було б цікавіше, ящко б там спливало вікно та можно було побачити назву і фото товару. А також відфільтрувати за категорією, щоб не ходити на вітрину та не шукати потрібний товар з підходящим фото. В зарубіжних шаблонах досить поширеним є власний Page Builder та редагування налаштувань модуля через модальне вікно в налаштуваннях макету, щоб не потрібно було перемикати вкладинки. Це прості речі, які також впливають на втому людини та на враження складності або застарілості OpenCart. Знову ж таки, людина звикає до всього, якщо регулярно тренується Тобто, це питання звички. Відсутній вбудований механізм масового редагування товарів, категорій. Але є модулі для масового редагування товарів. Що до категорій – був модуль, але наразі відсутній на форумі. Асистент налаштування (Installation Settings Wizard) Буває таке, що ти встановлюєш якусь програму, і вона тобі влаштовує покроковий збір налаштувань: додай номер телефону, додай email, вкажи назву, додай валюти. Тобто ці всі дії виконуються одним разом і тобі взагалі не потрібно напружуватися, думаючи, які дані потрібно заповнити. В OpenCart подібний покроковий асистент був в модулі SimpleCheckout, якій наразі на форумі не продається через російське громадянство його автора. Також бачив цікавий приклад, коли встановлюєш розширення для Google Analytics, і воно комунікує з Google по API, і ти просто клацаєшь кнопочки, замість того, що сидіти та стресувати перед екраном, дивлячись в ту кляту аналітику. Нажаль, в OpenCart такого немає. З іншого боку – це потрібно один раз зробити і можна видихнути. Оновлення В OpenCart відсутній механізм оновлення системи. Тільки переустановка та перенос даних. В четвірці є зачатки оновлень з адмінки. Філософські питання Це не стільки про сам OpenCart, скількі про “середовище”, в якому перебуває користувач, коли працює з системою. Інструкції, документація, база знань Є форум, є блоги, де можна знайти відповіді на запитання. Є також офіційна документації англійською мовою. Там навідь є відеоуроки. Але немає пошуку по документації. Є також документація для ocStore російською мовою, яка, здається, потребує деякого оновлення, але всі базові принципи вона описує – https://docs.ocstore.com/index.php?title=%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F Чесно кажучи документація не створює позитивне враження. І справа не лише в дизайні DokuWiki, але й в тому, що довжина рядка сильно впливає на втомлюваність очей. Загальновідома рекомендація, що текст для читання має мати не більше 80 символів на рядок. Це створює не дуже хороше враження. Але я не певен, що хтось туди взагалі заходить. Інакше, мабуть були би нарікання від користувачів, а так наче немає. Є навіть відео огляди для деяких модулів та покрокові інструкції, як встановити на хостинг самостійно. Наявність достатньої кількості сучасних шаблонів Хоча, на колір та смак всі фломастери різні, але будь-який користувач може відрізнити сучасне оформленні від оформлення 90-х. У нас на форумі є з десяток сучасних шаблонів дизайну, але на зарубіжних маркетплейсах їх більше. Причому зарубіжні шаблони роблять акцент на красі (в більшості випадків головної сторінки, але не сторінки товару) та тематичного оформлення під різні ніші. В нас більше універсальних шаблонів, де не завжди зрозуміло, як це буде виглядати з вашою тематикою. Але багато наших шаблонів мають велику кількість додаткової функціональності, тож можна зекономити на певних модулях. Застарілий підхід до обслуговування платних рішень деякими авторами модулів. Як хтось це називав “радянський підхід”: бери поки не дали по шапці. Дійсно, ми всі різні. У кожного долбо… розробника своя метода… Не до всіх і одразу доходить, що ми тут не просто виконуємо роботу, та продаємо свій продукт, але ще й є обличчям OpenCart (як от до мене наприклад не одразу дійшло). Це проблема в області Soft skills окремих людей, але не Opencart. Опанування гнучких навичок, до речі, це дуже сучасна “тема”, яка може привнести ковток свіжого повітря. Варто також зазначити, що гнучких навичок іноді не вистачає як розробникам, так і власникам магазинів. Багато з нас тут, насправді, – полулюбителі, тож без образ. Але, як варіант у суперечливих питаннях, щоб зберегти собі нерви, клієнти можуть спробувати проявити свої менеджерські якості, як от конструктивна критика, постановка завдань з конкретизованим описом, повага до неробочого часу працівника, тощо. Знову ж таки, щоб отримати високу якість обслуговування більш гарантовано, достатньо поєднати OpenCart та web-студію. Там є окремі люди, які займаються клієнтами, поки інші кодять (або купують модулі). Тож там ви можете розраховувати на справжній сервіс, якщо саме це є для вас пріоритетом. Економічна сторона питання Доступніть для старту OpenCart не можна назвати дійсно безкоштовним, тому що без розширень далеко не поїдешь. Але це все одно дуже доступно у порівнянні з подібним коробковим софтом. Так само це доступніше у порівнянні розширень для інших CMS, за які часто потрібно платити щорічно. OpenCart є майже ідеальним для тестування бізнес-ідеї, коли ви ще не знаєте, чи вийде з цього щось, чи ні; та хочете протестувати з мінімальним бюджетом. Швидкість запуску Можна запустити магазин за кілька днів. Але тільки, якщо ви вже добре знайомий із системою. Ну або якщо наймете розробника, щоб він все налаштував. Тоді це вийде вже трохи дорожче, але все одно ще не так вжей й дорого, як для бізнес-рішення. Знову ж таки це все за однієї умови: якщо використовувати готові рішення. А якщо: не хочу так, як є, а хочу так, як ось на тому сайті (хоча немає ніяких доказів, що це допомагає продавати), то швидкий запуск відмінюється. Та і дешевість готових рішень тут не дуже вже актуальна, бо потрібно щось доробляти. Також швидкий запуск сайту не гарантує вам, що потім ви так само швидко зможете вивчити всі нюанси роботи. Для цього потрібен час, особливо, якщо раніше ви не працювали з адмінками сайтів. Наявність готових інтеграцій Нова пошта, оплата через сервіс Приватбанку, Монобанку, Ощадбанку та інші методи, інтеграція з KeyCRM, УкрСклад, вигрузка на Prom, Rozetka тощо. Для всіх популярних сервісів є готові рішення. Наявність виконавців для вирішення завдань Взагалі є досить багато розробників, які працюють з Опенкарт. Але досить часто виникають труднощі знайти бажаючих зробити мілку роботу. Бо ціна розширень створює враження, що дешевим має бути все. Але робочий час, вже не такий дешевий, як готове рішення, яке вже написане. Масштабування На певному рівні зростання вашого бізнесу OpenCart може втратити свою значну економічну перевагу. Ок. Але до цього моменту, напевно, ви щось вже заробите. Також ви вже будете точно знати, що це працюючий бізнес, а не просто їдея. В такому разі вкладання грошей – це нормальний процес. Тим паче, що масштабування з іншими системами точно не вийде дешевшим. Думка учасників спільноти - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @SooR Якщо коротко – ні, не застарів. Якщо детально, то "застарів" трохи неточне визначення. Застарів для кого? Застарів для чого? OpenCart підтримує класичну модель ecommerce, яка вже багато років не змінюється. Можна сказати, що вона застаріла? Ні, тому що вона працює і не має жодної різниці який у неї вік. Якщо у технічному сенсі, то є досі купа магазинів на 1.5, коли ефект старизни корелює з асортиментом, цінами, рекламою, довірою і рейтингом магазину. Може скластится враження, що у OpenCart застарілі погляди на деякі рішення стосовно коду і алгоритмів, але він написан "методично", з дотриманням чітких правил і "внутрішньою релігією", якщо можна так сказати. Так, в OpenCart не вистачає дуже багато речей, на щастя автори це розуміють і з кожним поколінням версій намагаються спростити інтегрування розширень у систему. Все інше залежить від нас: розробників, маркетологів, дизайнерів та інших. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @Sha Хіба-що зовсім трішки!) А так: дивлячись для чого він потрібен. З одного боку якщо звернути увагу на технології, котрі використовуються, то – десь плентається зовсім кволо позаду. З іншого – впевнено тягне на собі магазини, та потребує найменших витрат. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @Exploits Стосовно застарів чи ні. Можливо і застарів, бо код та дизайн вже роками не змінюється. Але з іншої сторони функціонал можна розширить модулями, а дизайн – шаблонами. Тобто з коробки він так – застарівший, але і що з того? Купа магазинів чудово працюють на опенкарт. Це як база проста та примітивна, як то кажуть, а все, що потрібно можна розширить доповненнями. В цілому не бачу в цьому проблеми. Робота поки є для розробників. Мені навпаки такий підхід до вподоби, бо база не перегружена зайвим, і немає складності як наприклад в якомусь комбайні, де все є, але поки розберешся, то голову зламати можна. Тим паче якщо б це була якась платна платформа, де в базі вже є купа всього, то багато з того, що там є, більшістю користувачами не використовується. А тут кожен розширює функціонал так, як йому потрібно. Я в цьому не бачу проблеми. Так, можливо добре було б щось вже вдосконалить за роки, проте не ми розробники опенкарт, і ми не зможемо це змінить. Поживемо побачимо як буде. На даний момент у мене роботи з ним вистачає, і це основний мій дохід. Можливо ще відчувається те, що з рфієй багато хто не працює (наприклад я), і дохід просів, але тут не в застарілості ОС справа, а просто менше аудиторії тут на форумі. Якось так. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @octemplates Взагалі не відчуваю якось зниження популярності Opencart. Будуть у нашої української спільноти круті доповнення – Opencart ніколи не застаріє. Я побачив, що більшість топ модулів які були топом навіть ще до повномасштабного вторгнення рф у 2022 році – розробили українці. І це чудово вважаю Тому треба розвиватися і йти далі, бажано в одну ногу з розвитком нових версій Opencart. Я думаю, реклами самого Opencart в середині країни нам трохи не вистачає. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @RGB Залежить від того, як ми розглядаємо OpenCart – як програмне забезпечення чи як інструмент для створення і роботи інтернет-магазинів. У першому випадку відповідь буде стверджувальна, тому що технологічно OpenCart залишився у минулому десятиріччі і ніякий bootstrap 5 [в OpenCart 4] принципово нічого не змінює. Але якщо ми розглядаємо саму систему не як стек технологій та полігон для опанування новітніми фреймворками, а як інструмент, то відповідь буде негативною, оскільки доки інструмент виконує свої функції – він не може застаріти. Це як порівнювати джезву та сучасну кавомашину. Ви можете зварити чудову смачну і запашну каву за допомогою джезви, якій вже сотні років – і ви можете необачно “натицяти” кнопочки вашої надсучасної Делонгі та зварити помиї з першокласної арабіки, бо встановили невідповідний помел та обрали занадто великий об'єм напою. Звісно, важливим при цьому є не лише принципова можливість виконання своїх функції (на osCommerce теж, мабуть, і досі можна створити магазин, але хто ним буде займатись?), а і наявність готових доповнень, виконавців та попиту на їх послуги, т.т. наявність ком'юніті, яке у нас поки що є, але з наявною динамікою і підходом до його розвитку малоймовірно, що воно буде зростати у довгостроковій перспективі. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @chukcha Це також як php мертвий. Мінус, як уже ти сам писав, це справді потужні хмарні сервіси та реклама. Приклад того ж [вилучена комерційна назва]. Що таке застарів? Застарів для кого? Які вимоги новизни? Застарів для "ледачих" розробників, які на кожен чих щось шукають на гіті? Мінусів у ОС овербагато, але їх і овербагато в інших двигунах. Хоча б подивитися у WP. Там кожен плагін тягне свої залежності… На жаль, у ОС немає єдиної системи версійності, як движка, так і до php. Наприклад мені потрібна guzzle. Куди мен її пхати? до себе? чи у vendor? Але є ліби, наприклад, той від ФБ котрий також використовує гузлу, а вона підвантажена, і каже: “Ой! *ня – там стара версія!”. А оновити її не можна, тому що злетить, та яка була раніше встановлена… - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @Flint2000 От що застаріло, то це php-nuke ))). Хоча у мене один сайт працює на цьому диві. На мою думку – опенкарт це система, яка має надавати можливість продавати і заробляти гроші. Якщо функціональність цієї системи підтримується спільнотою, є певний розвиток – то він не застарів. Тим паче в розробці – це дуже дешеве рішення розвернути повноцінний магазин. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @buslikdrev 1.5 застарів насамперед для розробника, він не цікавий у порівнянні з 2.Х+, коли є bootstrap, події. А користувачу має бути неважливо. Але так як нові модулі не робляться багатьма [розробниками] для 1.5, то вони будуть вибирати вище 1.5 (залежно від нового шаблону 3.Х+, який сподобався). Ну і за неусвідомленістю [встановлюють] останню версію, адже новіше для них це круто. Загалом OpenCart 2.Х+ не застарів. А у когось у модулях свій дизайн налаштувань модуля, то навіть 1.5+ не застарів. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @aridius Я на жаль не стежу за розвитком інших CMS, як на мене, головна проблема OpenCart не в тому, що він застарів. Так в ньому використовується Bootstrap 3, jquery 2, але звичайний користувач навіть цього не знає, а розробники можуть впровадити більше свіжі версії. Вважаю головною проблемою: -Реклама самого OpenCart -Не раз чув тих, хто купив з opencart.com про індуський код і викинуті гроші - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @markimax Серед інших php e-commerce систем він не застарів, а найкращий вибір і альтернативи немає. А ось то, що чудить Даніель... це 3.14 І... якщо ти змінив ocmod на events, так дай events і на бібліотеки (котрі нахрін не треба – див. нижче) І зроби сучасний код. а не простирадла лайнокода Зміни моделі, щоб можна було редагувати запити через методи окремі наприклад ->select('...') ->join('...') ->where .... А контролери замість простирадла "переведи" на методи, щоб events вішати не на весь контроллер, а можна було б на кожен метод Типу: public function index() { return $this ->start() ->load_language() ->header() ->breadcrumb() ->main() ->positions() ->output(); } А я б зовсім прибрав би library замінив би на контролери їх. Ось навіщо бібліотека response, url, cache та т п ...? і без registry і без events ... зовсім не лізе в архітектуру і філософію опенкарт. Залишив би тільки library до кастомних бібліотек розробників. Коротше Даніель щось "заліпає" та веде опенкарт не туди. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @29aleksey Ну, якщо порівнювати версії, то краще вже працювати на старому 2.3 і 3, ніж на "новому" Opencart 4. Я б вважав новою таку версію, в якій був би + react. А те, що вони там зараз зробили у 4 версії, – це пекло для розробників. Навіть якщо порівнювати Opencart з Magento, то в Magento теж не було спочатку react. Але, здається, з другої версії вони його туди вже "впхнули". Так що, я думаю, якби там був react, то було б гуд: багато хто б підтягнув свої знання в цьому, вся ця справа працювала би в рази швидше. Але, напевно, цього ніколи не буде) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @ocdev_pro OpenСart не застарів, він помер. Справа в тому, що в усьому іншому світі крім Індії, СНД та Південної Америки ніхто не чув про таку платформу. Думаю, його популярність з кожним роком падатиме. Якщо ми беремо сегмент швидких проектів за три копійки, то в цій ніші він ще поживе. Одвічні проблеми опенкарт з SEO, оптимізацією запитів та іншого добра не робить йому честі. І навіть якщо взяти opencart 4, який я кручу останні місяці 3, в ньому тільки поверхово реалізовано автозавантаження та підтримка php 8. Ще один мінус: з боку захисту ніяких покращень не вироблялося, серйозні проекти це не про opencart. Якісна розробка під opencart це від 20$ + годину, при загальному бюджеті на проект, можна зробити щось більш захищене і заточене під потреби бізнесу, скажімо на Laravel + Vue.js - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @OCdevWizard З OpenCart я пряцюю більше 10 років, познайомився з ним ще з перших релізів, зробив багато чого, і навіть коли в світ вийшла його 4-а генерація – я можу сказати що прогрес тут занадто повільний. Фактично що ми бачимо: щось змінили по дизайну, щось поправили по безпеці, зробили підтримку PHP 8, нарешті зробили сабміт форм по ajax, і нарешті переробили процесс оформлення замовлення (на хвилинку цей рушій націлений саме на ecommerce, де б здавалося процесс оформлення замовлення з кошиком чи не найважливіше? що там повинно бути зручним для покупця, але то таке...). Звісно це не всі зміни але цього не достатньо. Я не згоден з філософією Даніеля, що рушій написаний так щоб він був не складний для джуна, натомість рушій й до цього часу не має своєї ORM. Для мене такий підхід звучить доволі смішно, я думаю що навпаки якби рушій вбирав в себе те, що для інших "мастхев", то так чи інакше, але програмісти, які працюють з цим рушієм, підтягнули б свою скіли, і в результаті рушій був би ліпший. І ті хто з ним працює, отримували би нові навички, ситуація win-win. Стосовно мене, то я вже деякий час назад перейшов на фреймворк django/flask. Вивчити документацію по Django ORM – це не так і складно, якщо є бажання. Звісно я не відмовлюся від використання OpenCart, але я все менше обираю його для проектів. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @Prorab337 Не думаю, що застарів. Точніше сказати десь застряг, але має свою нішу. І варто ознайомитись зі статистикою, якщо не зраджує пам'ять то опенкарт показує стабільний ріст в екомерсі -- https://www.linkedin.com/posts/opencart_ecommerce-activity-7034151683047751680-pjQm?utm_source=share&utm_medium=member_desktop – (в даній статистиці від офіційної сторінки OpenCart в LinkedIn наводиться позитивна динаміка популярності OpenCart, що йде врозріз із даними Google Trends. Можливо там враховується зростання загальної кількості магазинів, які відкрилися раніше і продовжують працювати на OpenCart разом з якоюсь кількістю нових магазинів, але це лише припущення – па) Я заробляю кошти на цьому, тому мені все подобається, хоча розумію що потрібно багато чого покращувати. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @whiteblue У опенкарт було величезне російськомовне ком'юніті. Але війна розірвала зв'язки та розвиток опенкарт сповільниться. Не бачу плюсів магазину на Ларавелі перед опенкартом від слова зовсім. Навіщо винаходити велосипед? Більш цікавими є високонавантажені системи з асинхронними завантаженнями та js бібліотеками. Тут була гілка, де хлопці збиралися реалізувати аналог опенкарт на високонавантажених системах. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Бесіда з Chat GPT за OpenCart * Примітка Як зрештою мені відповів ChatGPT, “точність відповідей залежить від рівня запитань та доступності відповідної інформації в базі знань моделі. ChatGPT є одним з найбільш потужних мовних моделей, створених на сьогоднішній день, і може відповідати на різні запитання, включаючи загальну інформацію, факти, концепції, думки та досвідчені рекомендації. Загалом, точність відповідей ChatGPT може бути досить високою, але завжди рекомендується перевіряти та перевіряти інформацію, надану моделлю, за допомогою інших джерел, особливо в тих випадках, коли потрібна висока точність. – Чи застарів OpenCart? – Як на моєму поточному рівні інформації (вересень 2021 року), OpenCart не можна назвати застарілим. OpenCart є однією з популярних систем керування електронною комерцією (CMS) і має велику спільноту користувачів та розробників. OpenCart має деякі переваги перед іншими CMS, такими як простий інтерфейс, широкий вибір розширень та можливість працювати з багатьма платіжними шлюзами та засобами доставки. Проте, слід зазначити, що існує постійний розвиток і покращення в галузі електронної комерції, і інші платформи також мають значну популярність. Вони пропонують більше сучасних функцій і можуть відповідати потребам більш широкого спектру бізнесів. – Яких саме сучасних функцій немає в Опенкарт? – Ось кілька прикладів таких функцій, які можуть бути відсутніми в OpenCart. Деякі сучасні платформи електронної комерції використовують інтелектуальний аналіз даних і машинне навчання для створення персоналізованих рекомендацій для користувачів на основі їхньої історії покупок та інших факторів. Маркетплейс: Деякі платформи надають можливість створення маркетплейсу, де кілька продавців можуть продавати свої товари на одному сайті. Це вимагає додаткової функціональності для керування продавцями, комісіями, рейтингами тощо. Штучний інтелект і чат-боти: Деякі платформи електронної комерції використовують штучний інтелект і чат-боти для автоматизації обробки замовлень, надання підтримки клієнтам та розробки персоналізованих пропозицій. Глобалізація: Зростання міжнародної електронної комерції ставить нові вимоги до платформ. Деякі сучасні рішення мають вбудовану підтримку міжнародної локалізації, калькулятори міжнародної доставки, підтримку різних мов та валют. Важливо зазначити, що OpenCart має велику спільноту розробників, і для багатьох з цих додаткових функцій можуть бути доступні сторонні модулі або розширення. Якщо вам потрібні певні сучасні функції, які відсутні в базовій версії OpenCart, ви можете розглянути пошук відповідних розширень або звернутися до розробників для індивідуального розробки модулів, що відповідають вашим потребам. – Ти порівнюешь OpenCart з інструментами, де є машинне навчання, створення маркетплейсу. Хіба це один рівень бізнесу? Я маю наувазі, бюджет власника магазину, форму бізнесу і тд. – Ні, OpenCart і інструменти створення маркетплейсу не є одним рівнем бізнесу. OpenCart – це готова платформа для створення інтернет-магазину, яка підходить для початківців та невеликих бізнесів з обмеженим бюджетом. Однак, бюджет власника магазину не є єдиним фактором, який впливає на вибір між OpenCart та іншими інструментами. Інші фактори, такі як розмір компанії, обсяг продажів, потреба в певних функціях та інші, також важливі. Тому перед вибором платформи для свого бізнесу, власник магазину повинен зважити всі переваги та недоліки кожної опції та знайти те, що найкраще підходить для його конкретної ситуації. – Чи може OpenCart бути використаним великою торгівельную кампанією? – Теоретично, OpenCart може бути використаний великою торгівельною компанією. Однак, при виборі платформи для великого масштабу торгівлі, є кілька чинників, які слід враховувати: Масштаб та обсяг: Велика торговельна компанія може мати великий обсяг товарів, клієнтів та транзакцій. Потреба у потужних функціях управління інвентарем, масштабування, оптимізації продуктивності та швидкості роботи може виникати. OpenCart має обмеження у цих аспектах, і для великих компаній можуть бути більш підходящі альтернативи. Розширення та інтеграції: Якщо велика компанія має специфічні вимоги до функціональності або інтеграції з іншими системами, може бути потреба у власному розробленні модулів або значних змінах в OpenCart. Це може вимагати додаткових ресурсів, часу та коштів. Підтримка та розвиток: OpenCart має активну спільноту розробників, але враховуйте, що підтримка та розвиток можуть бути менш інтенсивними порівняно з комерційними платформами. Для великої компанії може бути важливо мати надійну та швидку підтримку, а також доступ до оновлень та нових функцій. У певних випадках великі торговельні компанії можуть вирішити скористатися іншими ентерпрайз-рішеннями або спеціалізованими платформами, які спеціально розроблені для великого бізнесу. Такі платформи зазвичай мають більш широкий функціонал, високу масштабованість та підтримку для підприємств зі значним обсягом торгівлі та специфічними потребами. Вони можуть забезпечувати більшу надійність, безпеку, масштабованість та інтеграційні можливості, які є критичними для успішної роботи великих торговельних компаній. В таких випадках, замість OpenCart, компанії можуть розглянути використання ентерпрайз-рішень, спеціалізованих платформ електронної комерції або розробку власних рішень, що відповідають їхнім унікальним потребам та бізнес-вимогам. – Для якої цільової аудиторії користувачів OpenCart підходить краще за все? – OpenCart зазвичай підходить для невеликих і середніх підприємств або індивідуальних підприємців, які розпочинають свій бізнес в сфері електронної комерції або мають обмежений бюджет. Основні цільові аудиторії, для яких OpenCart може бути найбільш підходящим варіантом, включають: Малий бізнес та стартапи: OpenCart є простою у використанні та доступною платформою, що дозволяє швидко запустити електронний магазин з мінімальними витратами. Він підходить для невеликих команд та бізнесів, які тільки починають свою діяльність. Індивідуальні підприємці: Оскільки OpenCart є відкритим джерелом і має широку спільноту розробників, це може бути привабливим варіантом для індивідуальних підприємців, які мають обмежений бюджет і можуть залучити розробників для налаштування та підтримки свого магазину. Магазини з невеликим асортиментом: Якщо ваш магазин має невелику кількість товарів або обмежений асортимент, OpenCart може бути зручним варіантом. Він простий у використанні для управління невеликим каталогом продуктів. Важливо зазначити, що це загальні рекомендації, і вибір платформи електронної комерції повинен бути зроблений на основі унікальних потреб і характеристик вашого бізнесу. – А якщо бізнес розпочато на OpenCart, і магазин має комерційний успіх, чи варто в такому разі переходити на інші платформи після зростання? – Перехід на іншу платформу електронної комерції, однак, може бути складним технічним процесом і вимагати певних зусиль і ресурсів. Перед прийняттям рішення про перехід, ретельно оцініть свої потреби, бюджет, технічні можливості та ризики, пов'язані зі зміною платформи. Також, перед переходом на нову платформу, рекомендується зробити детальний аналіз ваших поточних процесів, налаштувань і даних, і розробити чіткий план міграції, щоб забезпечити безперебійну роботу вашого магазину під час переходу. – Ми трохи відуліклися. Повернімося до основної теми. Я так і не зрозумів: що саме застаріло в OpenCart? – OpenCart – це популярна вільна система управління електронною комерцією, яка має багатий набір функцій для створення та керування онлайн-магазинами. Однак, існують деякі аспекти, які можуть бути вважаються застарілими у цій платформі. Один з найбільш очевидних недоліків OpenCart – це відсутність вбудованих інструментів для редагування продуктів та категорій в масштабі масової обробки. Це означає, що, якщо вам потрібно змінити багато продуктів або категорій, вам потрібно буде робити це вручну або використовувати сторонні розширення. Ще одним недоліком OpenCart є обмежені можливості вбудованого SEO. Платформа не має всіх необхідних інструментів для оптимізації сайту для пошукових систем, і вам може знадобитися використовувати сторонні розширення для досягнення більш ефективного SEO. Нарешті, OpenCart має менш розвинуту систему підтримки споживачів порівняно з іншими платформами електронної комерції. Хоча OpenCart має офіційний форум та можливість звернення до служби підтримки, деякі користувачі можуть відчувати, що їх проблеми не вирішуються достатньо швидко та ефективно. – Дай мені технічний огляд, що застаріло в OpenCart 3? [з урахуванням, що ChatGPT не може знати про OpenCart 4] – Є декілька технологій та аспектів, які можуть вважатися застарілими в OpenCart 3: OpenCart 3 використовує стару версію бібліотеки jQuery 2, яка більше не отримує оновлень безпеки та функціональності. Це може вплинути на безпеку та продуктивність вашого магазину. OpenCart 3 також використовує стару версію фреймворку Bootstrap 3, яка більше не отримує оновлень. Це може вплинути на відображення та доступність вашого магазину на різних пристроях та браузерах. Модуль аутентифікації в OpenCart 3 базується на застарілому коді, що може вплинути на безпеку магазину та приватність користувачів. Оновлення – процес оновлення OpenCart 3 може бути складним та незручним. Крім того, деякі оновлення можуть призвести до конфліктів з існуючими розширеннями та модулями. Відсутність механізму кешування – OpenCart 3 не має вбудованого механізму кешування, що може вплинути на продуктивність та швидкість завантаження вашого магазину (взагалі є, але він недостатній та на ефективний – па). Безпека – OpenCart 3 має деякі відомі проблеми безпеки, такі як вразливості в адміністративній панелі та можливість атаки на базу даних. Також, слід зауважити, що OpenCart 3 має багато переваг та функцій, які можуть забезпечити ефективну роботу вашого магазину. Однак, перед використанням OpenCart 3, вам слід звернути увагу на потенційні проблеми та ризики та відповідно їх вирішити. – OpenCart використовує несучасний підхід до програмування. Хіба це не означає, що він застарів? – OpenCart, як і будь-який інший програмний продукт, може бути оцінений за різними критеріями. Хоча деякі люди можуть вважати, що OpenCart використовує несучасний підхід до програмування, це не обов'язково означає, що він застарів. Дозвольте роз'яснити це. OpenCart є відкритою системою управління електронною комерцією (CMS), яка була випущена в 1999 році. За технологічними міркуваннями, це може вважатися деяким чином застарілим, оскільки протягом останніх років з'явилося багато нових технологій та фреймворків для розробки веб-додатків. Проте, важливо розуміти, що OpenCart має свої переваги. Він має простий та легкий у використанні інтерфейс для адміністрування, широкий спектр функціональності, а також значну базу користувачів та розширень. Якщо вам потрібен швидкий та простий спосіб створення онлайн-магазину, OpenCart може бути досить ефективним вибором. Також варто враховувати, що OpenCart оновлюється командою розробників. Це означає, що OpenCart може існувати в конкурентному середовищі, навіть якщо його технології не є найсучаснішими. – Які тоді ознаки застарілого ПЗ? – Ознаки застарілого програмного забезпечення (ПЗ) можуть включати наступні: Відсутність підтримки та оновлень: Застаріле ПЗ може бути позбавлене офіційної підтримки від розробників, що означає відсутність нових виправлень помилок, патчів безпеки та оновлень функціональності. Сумісність: Застаріле ПЗ може виявляти проблеми із сумісністю з новішими операційними системами або апаратними засобами, оскільки воно може бути розроблене для старіших версій апаратних платформ або програмних інтерфейсів. Помітний відсутній розвиток: Якщо ПЗ не отримує регулярних оновлень та нових функцій, це може свідчити про його застарілість. Нові інновації та покращення можуть бути втрачені, і ПЗ може почати виглядати застарілим порівняно з сучасними рішеннями. Погана продуктивність: Застаріле ПЗ може бути менш ефективним та швидким, порівняно з новішими рішеннями. Воно може вимагати більше ресурсів, таких як пам'ять чи потужність обчислень, щоб працювати ефективно. Вразливості безпеки: Застаріле ПЗ може мати вразливості, які не були виправлені через відсутність оновлень. Це може зробити ПЗ більш вразливим перед атаками зловмисників та шкідливими програмами. Відсутність сучасних функцій: Застаріле ПЗ може бути обмеженим в функціональності порівняно з сучасними рішеннями. Воно може не мати нових можливостей, інтеграції з іншими програмами. Відсутність інтеграції: Застаріле ПЗ може мати обмежені можливості інтеграції з іншими системами або програмами. Воно може бути несумісним з сучасними інтерфейсами, стандартами та протоколами, що ускладнює його використання в сучасному інформаційному середовищі. Відсутність користувацького досвіду: Застаріле ПЗ може мати застарілий, неінтуїтивний інтерфейс користувача. Воно може бути менш зручним у використанні, вимагати додаткового навчання та бути менш привабливим для користувачів порівняно з сучасними інтерфейсами. Відсутність сумісності зі сучасними форматами даних: Застаріле ПЗ може мати проблеми з обробкою та розпізнаванням сучасних форматів даних. Наприклад, воно може не підтримувати нові версії файлових форматів, стандартів мережевої комунікації або веб-технологій. Відсутність автоматизації та ефективності: Застаріле ПЗ може бути менш автоматизованим та ефективним у порівнянні зі сучасними рішеннями. Воно може вимагати багато ручної роботи, не мати оптимізованих процесів або функцій автоматичного виконання завдань. Ці ознаки можуть свідчити про те, що програмне забезпечення застаріло і потребує оновлення або заміни, щоб відповідати сучасним вимогам та стандартам. – Хіба в оновленні OpenCart 3 були додані якісь функції? – Ви праві, що остання версія OpenCart на момент мого оновлення знань (версія OpenCart 3.x) вийшла до вересня 2021 року. На той момент, ось деякі з нових функцій, які були додані в OpenCart 3.x: Новий дизайн і користувацький інтерфейс: OpenCart 3.x має оновлений інтерфейс, що поліпшує користувацький досвід і роботу з системою. Покращена система шаблонів: Нова версія має покращену систему шаблонів, що дозволяє більш гнучко налаштовувати вигляд вашого інтернет-магазину. Поліпшена система модулів: OpenCart 3.x пропонує більш потужну і гнучку систему модулів, що дозволяє легко додавати нові функції і розширення до вашого магазину. Оновлені можливості оплати і доставки: В OpenCart 3.x додані нові варіанти оплати і доставки, включаючи підтримку платіжних шлюзів і служб доставки. Покращена система адміністрування: Адміністративний розділ OpenCart 3.x має поліпшену систему управління товарами, замовленнями, клієнтами та іншими аспектами вашого магазину. Покращена продуктивність і безпека: OpenCart 3.x має оптимізований код, що поліпшує продуктивність і швидкість роботи магазину. Також виконані покращення в галузі безпеки, включаючи виправлення вразливостей та покращення захисту даних (це потребує перевірки – па). – Як на мене, це не дуже корисне оновлення… – Визначення корисності оновлення програмного забезпечення є суб'єктивним і залежить від потреб і очікувань користувачів. Оновлення OpenCart 3.x має свої переваги, але можливо, ви бажаєте більш значних змін у функціональності. Розуміючи ваші потреби, можна розглянути інші альтернативи або варіанти ПЗ, які краще відповідають вашим вимогам. Важливо також враховувати, що оновлення програмного забезпечення не завжди супроводжується значними змінами функціональності. Іноді оновлення спрямовані на виправлення помилок, покращення продуктивності та безпеки, а також на забезпечення сумісності зі сучасними технологіями. – Хіба не можна сказати, що OpenCart 3 мав “Помітний відсутній розвиток”, якій ти назвав серед ознак застарілого ПЗ? – Варто враховувати кілька факторів. По-перше, оцінка розвитку програмного забезпечення повинна базуватися на порівнянні з попередніми версіями та конкурентами у даній галузі. Якщо OpenCart 3.x мав певні покращення в порівнянні з попередньою версією та забезпечував базовий функціонал, який вам потрібен, то це може вважатися певним розвитком. По-друге, необхідно враховувати плани розробників щодо майбутнього розвитку OpenCart. Навіть якщо OpenCart 3.x не має значних змін на даний момент, розробники можуть мати стратегію для майбутнього оновлення з новими функціями та покращеннями. Узагалі, оцінка розвитку програмного забезпечення – це складний процес, який включає багато факторів. Вона повинна бути здійснена на основі конкретних потреб, вимог і очікувань користувачів, а також враховувати контекст та обставини. – OpenCart написаний із застарілим код стайлом, не дотримується стандартів PSR. Виходить, що він технічно застарів? – Недотримання стандартів PSR може призвести до складнощів у розробці, обслуговуванні та розширенні OpenCart. Воно може ускладнити співпрацю з розробниками, які дотримуються сучасних стандартів, а також унеможливити використання деяких інструментів і бібліотек, які підтримують лише стандартизований код. Однак, важливо зазначити, що популярність OpenCart і наявність прихильників свідчать про те, що ця платформа відповідає деяким потребам користувачів і успішно функціонує в багатьох веб-магазинах. Технічне застаріння може бути недоліком з точки зору розробки та сумісності зі стандартами, але може не мати безпосереднього впливу на функціональність та ефективність платформи. – Що ж тоді хорошого в OpenCart, що в нього досі є прихильники? Наведи приклади переваг та функцій OpenCart – Звичайно! Ось кілька прикладів переваг і функцій OpenCart: Відкритий код і спільнота: OpenCart є вільним програмним забезпеченням з відкритим вихідним кодом, що означає, що ви можете змінювати його і адаптувати до своїх потреб. Також існує активна спільнота користувачів та розробників, яка забезпечує підтримку, розширення та оновлення платформи. Простота використання: OpenCart має дружній інтерфейс з інтуїтивно зрозумілим управлінням. Ви можете легко додавати продукти, керувати замовленнями, встановлювати методи оплати та доставки, налаштовувати податки та багато іншого. Розширення і модулі: OpenCart має широкий вибір розширень та модулів, які дозволяють розширити функціональність вашого магазину. Ви можете встановлювати додаткові модулі для інтеграції з платіжними шлюзами, соціальними мережами, маркетплейсами, аналітикою та багатьма іншими сервісами. Множинні магазини: OpenCart підтримує можливість створення та управління декількома магазинами з однієї адміністративної панелі. Це дозволяє вам керувати кількома різними магазинами з одного місця, спільно використовувати товари та клієнтську базу. SEO-оптимізація: OpenCart має розширення для SEO, які допомагають забезпечити, що ваш інтернет-магазин буде більш видимим у пошукових системах. Ви можете налаштувати метатеги, URL-адреси, мапу сайту та інші аспекти для покращення SEO-просування. Множинні мови і валюти: OpenCart дозволяє налаштувати магазин на різні мови і валюти. Це особливо корисно, якщо ви спрямовані на глобальну аудиторію або хочете обслуговувати клієнтів з різних країн. Адаптивний дизайн: OpenCart пропонує адаптивний дизайн, що дозволяє вашому магазину коректно відображатися на різних пристроях, таких як комп'ютери, планшети і смартфони. Це забезпечує зручний і приємний досвід користувачам, які відвідують ваш магазин з різних пристроїв. Знижки та купони: OpenCart надає можливість створювати різні види знижок, акцій та купонів. Ви можете встановлювати знижки на певні товари, розділи або для конкретних груп клієнтів. Це допомагає вам залучати нових клієнтів та стимулювати повторні покупки. Це лише кілька прикладів переваг та функцій, які надає OpenCart. Платформа надає багато інших корисних можливостей, які допомагають вам розвивати ваш інтернет-магазин, залучати клієнтів, збільшувати продажі та покращувати загальний досвід покупців. Незалежно від розміру вашого бізнесу або категорії товарів, OpenCart є потужним інструментом, який допоможе вам ефективно управляти вашим електронним магазином і досягти успіху у сфері електронної комерції. Цікаві факти 1. Зворотна сумісність Популярна в області веб-стандартів фраза звучить так: "не розірви мережу". Це означає, що кожна нова веб-технологія повинна бути сумісна з усіма попередніми технологіями (тому старі сайти досі працюють), і з усіма наступними (технологія, що розробляється згодом, повинна бути сумісна з наявними). В PHP 7 Зворотна сумісність була трохи порушена, але не настільки, щоб це дуже сильно відображалося на роботі систем, написаних під PHP 5 (як OpenCart). 2. Abandonware та моральна застарілість В пошуках конкретних характеристик, що саме означає застаріле ПЗ, я знайшов варіант Abandonware (англ. abandon – залишити, покинути; software - програмне забезпечення) – тобто це програмне забезпечення, яке більше не виставляється на продаж компанією-виробником, не підтримується ним і видавцем (не оновлюється технічна документація, не випускаються доповнення та оновлення, не ведеться статистика відмов, база даних користувачів і т. д.). Таке ПЗ можна назвати застарілим або морально застарілим. Abandonware затребуване тоді, коли: існують прихильники застарілого програмного забезпечення (старих ігор, редакторів, операційних систем); використовується застаріла техніка; придбання нового ліцензійного товару стає матеріально обтяжливим. Окрім того, я знайшов окремо термін “морально застаріла технологія” (англ. morally growing old technology), якій використовується в менеджменті. Так називають розробки, що не можуть забезпечити виробництво продукції середньостатистичної якості у порівнянні з виробниками аналогічної продукції. З OpenCart можно отримати магазин середньої якості за короткий час та за вигідною ціною. Отже він не може вважатися морально застарілим з точки зору бізнесу. 3. legacy code та перспективи Зовсім інша справа legacy code, чого в OpenCart вистачає. Для користувачив – це взагалі нічого не означає. А от для розробників, які тільки що навчилися сучасному програмуванню на якіхось курсах, а теперь не розуміють, що робити з тим опенкартом, варто пам'ятати, що, хоча такий код – це зовсім не круто, але у великих компаніях (де платять більше) в основному наслідуваний код. Тому вміння з таким працювати буде дуже корисним для розвитку у кар'єрі.
    1 point
  13. Опенкарт існує вже десятки років, а в ньому, до чого часу, існує "не баг а фіча" з сесією. Точніше з кукою сесії. По-перше вона існую тільки поки відкритий браузер. Що дуже дивно. По-друге. Навіть якщо ви зміните час життя самої куки, то це вам не допоможе. Бо кука буде діяти, не з поточного часу, а з моменту її створення 0_____о А все через це https://www.php.net/manual/ru/function.session-set-cookie-params.php#100657 Вирішуеться це просто Замість session_set_cookie_params(0, '/'); session_start(); Потрібно використовувати $lifetime = 8640000; session_start(); setcookie(session_name(),session_id(),time()+$lifetime,'/');
    1 point
  14. Вы когда-нибудь забывали внести изменения в базу данных после публикации нового функционала? А еще эти кеши модификаторов, которые нужно не забыть обновить. В этой статье я опишу, как автоматизировать процесс деплоя проекта и избавить себя от рутины. Данная статья предполагает, что вы используете Git как систему контроля версий, GitHub как хранилище вашего репозитория и также у вас есть SSH доступ к серверу, на котором можно запустить composer. В качестве основы для нашей автоматизации мы будем использовать GitHub Actions, который позволяет запускать различные процессы внутри контейнеров. Что нам понадобится сделать: консольные скрипты для очистки модификаторов и кеша системы систему миграций для БД Консольные команды Конечно, можно использовать исходный код опенкарта и на основе него написать скрипты, но это не наш метод. Мы напишем собственные велосипеды и за основу возьмем Symfony Console. Устанавливаем нужные зависимости: composer require symfony/console Создаем директорию src для нашего приложения (лучше всего размещать такой код на уровень выше вашего index.php) В composer.json, в разделе автозагрузки добавим код для задания пространства имен нашего приложения: "autoload": { "psr-4": { "App\\": "путь к папке/src/", } }, "require": { ...список ваших зависимостей..., } Создадим папки в директории src для будущего кода: Commands, Models, Services, Traits Структура папки src Создадим сервисы для очистки директорий кеша Базовый класс <?php declare(strict_types=1); namespace App\Services\Clear; use FilesystemIterator; use RecursiveDirectoryIterator; use RecursiveIteratorIterator; class BaseClearService { protected const SKIP_FILE = 'index.html'; public function clear(string $dir): void { $directories = new RecursiveDirectoryIterator($dir, FilesystemIterator::SKIP_DOTS); $files = new RecursiveIteratorIterator($directories, RecursiveIteratorIterator::CHILD_FIRST); foreach ($files as $file) { if ($file->isFile() && $file->getFilename() === self::SKIP_FILE) { continue; } $file->isDir() ? rmdir($file->getRealPath()) : unlink($file->getRealPath()); } } } Сервис очистка системного кеша <?php declare(strict_types=1); namespace App\Services\Clear; class CacheClearService extends BaseClearService { public function process(): void { $this->clear(DIR_CACHE); } } Сервис очистки старых модификаторов <?php declare(strict_types=1); namespace App\Services\Clear; class ModificationClearService extends BaseClearService { public function process(): void { $this->clear(DIR_MODIFICATION); } } ModificationService - мне было лень переписывать код, взял из опенкарта как есть. Первый сервис очищает директорию, а второй создает модифицируемые файлы. Для создания файлов нам нужно из базы получить список модификаторов. Для этой цели можно использовать разные подходы, но т.к. я использую в других проектах Laravel, я задействую для работы с базой Eloquent . Установим пакет: composer require illuminate/database Создаем файл модели модификаций: <?php declare(strict_types=1); namespace App\Models; use Illuminate\Database\Eloquent\Model; class Modification extends Model { protected $table = 'modification'; protected $primaryKey = 'modification_id'; public $timestamps = false; } Файлы для работы с базой данных <?php namespace App\Traits; trait Singleton { public static $instance; public static function getInstance(): self { if (empty(self::$instance)) { self::$instance = new static(); } return self::$instance; } private function __clone() { } private function __wakeup() { } } Теперь непосредственно создадим классы консольных команд для очистки системного кеша <?php declare(strict_types=1); namespace App\Commands; use App\Services\CacheClearService; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; class CacheClearCommand extends Command { protected function configure(): void { $this->setName('cache:clear') ->setDescription('Clear system cache'); } protected function execute(InputInterface $input, OutputInterface $output): int { try { (new CacheClearService())->process(); } catch (\Throwable $e) { $output->writeln('<error>Directory error</error>'); return Command::FAILURE; } $output->writeln('<info>Modification cache cleared successfully</info>'); return Command::SUCCESS; } } И для очистки кеша модификаторов <?php declare(strict_types=1); namespace App\Commands\Opencart; use App\Models\Database; use App\Services\ModificationClearService; use App\Services\ModificationService; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; class ModificationClearCommand extends Command { protected function configure(): void { $this->setName('cache:modification') ->setDescription('Clear modification cache'); } protected function execute(InputInterface $input, OutputInterface $output): int { try { Database::getInstance(); (new ModificationClearService())->process(); (new ModificationService())->process(); } catch (\Throwable $e) { $output->writeln('<error>Directory deleting error</error>'); return Command::FAILURE; } $output->writeln('<info>Modification cache cleared successfully</info>'); return Command::SUCCESS; } } Соберем все в общее консольное приложение <?php declare(strict_types=1); namespace App\Commands; use App\Commands\CacheClearCommand; use App\Commands\ModificationClearCommand; use Exception; use Symfony\Component\Console\Application; class AppConsole { /** * @throws Exception */ public function run(): void { $app = new Application(); $app->add(new ModificationClearCommand()); $app->add(new CacheClearCommand()); $app->run(); } } И создадим файл console в корне, который будет запускать саму консоль #!/usr/bin/env php <?php require dirname(__DIR__) . '/путь к/vendor/autoload.php'; require __DIR__ . '/путь к/admin/config.php'; use App\Commands\AppConsole; (new AppConsole())->run(); Делаем его исполняемым: chmod +x console Теперь при запуске команды php console мы получим список доступных команд: php console cache:clear - очистка системного кеша php console cache:modification - очистка модификаторов Таким образом можно создать другие команды: для сжатия картинок, для бэкапов базы и т.д. Миграции баз данных Данный подход позволяет фиксировать все изменения базы в PHP-коде. Следовательно, мы можем в Git хранить всю историю изменений базы данных. Мы будем использовать библиотеку phinx. Установим ее: composer require robmorgan/phinx Далее запускаем команду для создания конфигурационного файла phinx.php ./vendor/bin/phinx init Создадим папку db/migrations - тут будут храниться файлы миграций. В конфиге phinx.php прописываем путь для папки, где будут лежать файлы миграций и параметры подключения к БД <?php return [ 'paths' => [ 'migrations' => '%%PHINX_CONFIG_DIR%%/путь до папки db/migrations', 'seeds' => '%%PHINX_CONFIG_DIR%%/db/seeds' ], 'environments' => [ 'default_migration_table' => 'phinxlog', 'default_environment' => 'development', 'development' => [ 'adapter' => 'mysql', 'host' => 'host db', 'name' => 'opencart', 'user' => 'admin', 'pass' => '1234567', 'port' => '3306', 'table_prefix' => 'oc_', 'charset' => 'utf8mb4', ], ], 'version_order' => 'creation' ]; Ключ environments позволяет прописывать различные подключения к базе на проде или тестовом сервере и потом при запуске указывать, для какого окружения нужно запускать миграции. Чтобы создать миграцию, запустите команду create и укажите название класса миграции, в названии которого будет отображена суть (для какой таблицы мы создаем миграцию). Например, создадим миграцию для таблицы с постами: ./vendor/bin/phinx create PostsTableMigration После чего в папке db/migrations появится файл с временной меткой в названии файла и именем миграции с snake case. Заполним файл: <?php declare(strict_types=1); use Phinx\Migration\AbstractMigration; final class DocsMigration extends AbstractMigration { public function change(): void { $table = $this->table('docs'); $table->addColumn('route', 'string') ->addColumn('description', 'text') ->addColumn('created', 'datetime', ['default' => 'CURRENT_TIMESTAMP']) ->addIndex(['route'], ['unique' => true]) ->create(); } } Тут все просто, указываем название таблицы, колонки и их типы, задаем индексы. Для каждой таблицы автоматически создается автоинкрементное поле id. Полную инструкцию по написанию миграций можно найти на оф. сайте: https://book.cakephp.org/phinx/0/en/migrations.html Для запуска миграций воспользуемся командой: ./vendor/bin/phinx migrate После запуска данного скрипта в таблице phinxlog (настраивается в параметре default_migration_table из файла phinx.php) появится запись о примененной миграции. GitHub Actions Остался последний и самый главный этап - настройка на стороне GitHub. Создаем в корне проекта файл (указываю полный путь) .github/workflows/deploy.yml. Здесь будут указаны все задачи, которые должны будут запускаться внутри контейнеров на стороне GitHub. name: Deploy on: push: branches: [ main ] jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Deploy to server uses: appleboy/ssh-action@master with: host: ${{ secrets.HOST }} username: ${{ secrets.USERNAME }} key: ${{ secrets.KEY }} port: ${{ secrets.PORT }} script: | cd /путь к корню проекта ./.scripts/deploy.sh ./vendor/bin/phinx migrate Тут мы указываем на что будет реагировать наш Action. В данном случае на пуш в ветку main on: push: branches: [ main ] jobs - непосредственно описываем задачи deploy - имя задачи appleboy/ssh-action@master - инструмент для запуска удаленных команд по SSH. Ниже указаны параметры для аутентификации и список выполняемых команд: - cd - переходим в корень проекта - ./.scripts/deploy.sh - запускаем баш-скрипт с нашими командами (опишем ниже) - ./vendor/bin/phinx migrate - запускаем миграции appleboy/ssh-action@master - для аутентификации можно использовать ssh-юзера и пароль, но я указал настройки для входа по ключу. Для этого зайдем по SSH на сервер, куда мы будем деплоить проект и создадим связку ключей: ssh-keygen -t rsa -b 4096 -C "[email protected]" cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys Скопируем приватный ключ cat ~/.ssh/id_rsa Теперь нужно заполнить секретные ключи в GitHub. Переходим в наш репозиторий: Settings -> Secrets and variables -> Actions и добавляем наши секреты: HOST - хост сервера PORT - порт сервера KEY - скопированный ранее приватный ключ USERNAME - имя пользователя на сервере Создаем баш-скрипт .scripts/deploy.sh для запуска консольных команд, которые мы создавали в начале статьи. #!/bin/bash set -e echo "Deployment started ..." git pull php console cache:modification php console cache:clear echo "Deployment finished!" Тут мы забираем все изменения из git-репозитория и чистим кеши нашими консольными скриптами. Сюда можно добавить команду для включения режима обслуживания на время деплоя, но это оставлю вам для самостоятельного выполнения. Разрешаем запуск данного скрипта chmod +x deploy.sh Окончательная структура директорий Теперь мы можем запушить новые изменения в репозиторий и увидим, как во вкладке Actions на GitHub появится новая задача. Мы можем нажать на нее и посмотреть детально на все происходящие процессы в контейнерах. Если произойдет ошибка, то вам на почту придет письмо, что Action завершился неудачно. Сюда также можно добавить проверки на codestyle, запуск тестов и построить полноценное CI/CD, но это пока не про Opencart...
    1 point
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.