Александр Туниеков
С нами с 19 декабря 2015; Место в рейтинге пользователей: #11MODX, jquery, ExtJs vs Vue и NodeJs
Когда-то в 2015 году мне предложили сделать сайт вентиляции. В принципе программировать я умел, но во первых особого опыта у меня не было и во вторых я ленив и делать велосипеды вроде авторизации пользователей и базового функционала интернет-магазина меня никак не вдохновляет :-). В поисках на чем делать сайт наткнулся на MODX и он оказался буквально спасением. То есть есть весь нужный базовый функионал и в то же время сделать не допилить не стандартный нужный функионал легко. Так я начал программировать на MODX и получать за это деньги.
Но вот сейчас при разработке нашей системы управления производством у меня есть некоторые проблемы. Для их решения думаю перейти на какую-нибудь другую эко-систему. Думаю насчет Vue и NodeJs. У них я думаю есть некоторые преимущества. Под катом подробнее…
Но вот сейчас при разработке нашей системы управления производством у меня есть некоторые проблемы. Для их решения думаю перейти на какую-нибудь другую эко-систему. Думаю насчет Vue и NodeJs. У них я думаю есть некоторые преимущества. Под катом подробнее…
FacetSearch - теперь opensource.
Привет всем! Хотелось зарабатывать на своих программах, но очередная попытка раскрутиться провалилась. Не было времени дорабатывать компонент, в продвижении я не особо силен и MODX кажется теряет популярность.
За год новых клиентов не добавилось, тот что был ушел.
Дорабатывать и продвигать FacetSearch кажется не имеет смысла. Если кому-то компонент интересен сделал его бесплатным и открыл исходники.
Если кому-то интересно его дорабатывать и он готов вложиться деньгами, то некоторый функционал, например, полнотекстовый поиск или перевод под мантикору могу сделать по мере наличия свободного времени.
За год новых клиентов не добавилось, тот что был ушел.
Дорабатывать и продвигать FacetSearch кажется не имеет смысла. Если кому-то компонент интересен сделал его бесплатным и открыл исходники.
Если кому-то интересно его дорабатывать и он готов вложиться деньгами, то некоторый функционал, например, полнотекстовый поиск или перевод под мантикору могу сделать по мере наличия свободного времени.
Монетизация opensource
Мне нравиться MODX и также понравился NodeJs. Отчасти поддавшившись паникерским настроениям здесь в сообществе захотелось перейти от модекс к ноде, но сохранив множество любимых возможностей модекс. Для этого я даже начал писать NMCMS — Node like MODX CMS. Тесты показали что такая CMS будет работать быстрее модекс. Так как модекс при каждом запросе должен себя проинициализировать в течении 150мс. А CMS на ноде можно проинициализировать просто при запуске сервера. В тестах нода с парой простых сниппетов отдавала контент за 5мс. Это предыстория. Теперь мне захотелось придумать систему монетизации предпологаемой NMCMS. И здесь возникли проблемы.
1) Хотелось бы чтоб авторов модулей CMS была возможность продавать их.
2) Хочется на разработке CMS как-то заработать.
3) И иметь время и средства на доработки и продвижение системы.
1) Хотелось бы чтоб авторов модулей CMS была возможность продавать их.
2) Хочется на разработке CMS как-то заработать.
3) И иметь время и средства на доработки и продвижение системы.
FacetSearch - фасетный поиск со своим сервером индекса
Потихоньку дорабатываю компонент. В новой версии компонента MODX FacetSearch появилась возможность использовать свой сервер базы данных OpenSearch, без использования сервиса facetsearch.ru. Подойдет тем, кто не хочет передавать свои данные стороннему сервису и может платить за VPS. OpenSearch требует минимум 40гб жесткого диска. На 20гб не стартует. В бегет VPS с 40гб, сейчас, стоит 8 400р в год.
Инструкция здесь https://facetsearch.ru/help.html#setup_on_his_server
https://modstore.pro/packages/ecommerce/facetsearch
Инструкция здесь https://facetsearch.ru/help.html#setup_on_his_server
https://modstore.pro/packages/ecommerce/facetsearch
Прикручивам migxdb к пользователю в админке
В админке данным пользователя понадобилось прикрутить допполе-таблицу в отдельный таб. Можно было написать таб на extJs, прикрутить Migx или прикрутить getTables. Каждый раз писать на extJs меня напрягает, а getTables не популярный. Так что решил прикрутить Migx. На удивление все получилось. Описание по катом.


Тестируем mFilter2
Некоторые разработчики сообщества говорят: Вот надо сервер получше и mFilter2 будет работать быстро.
Я не пожалел 600р и взял тариф Максимальный на модхост. Решил проверить как зависит скорость работы mFilter2 от сервера. К счастью, мне разрешили использовать базу с 31444 товаров.
Сравниваться будут 2 одинаковых сайта:
1) На модхост с тарафом Максимальный. Дальше будем называль модхост.
2) Сайт на локальном сервере OpenServer. Дальше локалка.
В фильтре 4 селекта с 1743 опций-значений.
Для модхост результраты можно, еще месяц, непосредственно, просмотреть по ссылке http://s31273.h2.modhost.pro/mfilter2-testyi.html
под катом результаты.
Я не пожалел 600р и взял тариф Максимальный на модхост. Решил проверить как зависит скорость работы mFilter2 от сервера. К счастью, мне разрешили использовать базу с 31444 товаров.
Сравниваться будут 2 одинаковых сайта:
1) На модхост с тарафом Максимальный. Дальше будем называль модхост.
2) Сайт на локальном сервере OpenServer. Дальше локалка.
В фильтре 4 селекта с 1743 опций-значений.
Для модхост результраты можно, еще месяц, непосредственно, просмотреть по ссылке http://s31273.h2.modhost.pro/mfilter2-testyi.html
под катом результаты.
FacetSearch - быстрый фасетный поиск с сервисом facetsearch.ru
У MODX есть один компонент фасетного поиска – mFilter2. Но на больших каталогах (от 10 000 товаров) mFilter2 работает очень медленно. Загрузка страницы и фильтрация могут занимать 6–10 секунд, даже с кэшем. Современные поисковые системы используют специальные базы данных – ElasticSearch, Sphinx и другие. На сервисе FacetSearch.ru развернут OpenSearch (fork ElasticSearch). Компонент FacetSeach для MODX загружает данные в базу OpenSearch и выводит на сайты с MODX форму фасетного поиска, фильтрующую товары и ресурсы с помощью запросов в сервис.

FacetSearch фильтрует большые каталоги за 0,6-0,9 секунды.

FacetSearch фильтрует большые каталоги за 0,6-0,9 секунды.
Обзор фильтров для интернет-магазинов
Для MiniShop планируется сделать фильтры встроенные в него. Вопрос как и каким образом их делать? Я разбирался в фильтрах mFilter2, пробовал делать mapFilter и, сейчас, искал в интернете реализации фильтров. Насколько нашел есть 4 способа реализации фильтра. Под катом их обзор.
Кешируем mFilter2
Как кол-во товаров на сайте переваливает какую-то границу, то mFilter2 начинает жестко тупить. Переодически мне приходиться бороться с этой проблемой. В итоге изучения mFilter2 выработал пару решений.
Что не так с адресацией переменных в php?
Выполняю код по смыслу такого содержания:
2 часа выявлял ошибку :-(
Если убрать:
<?php
$a['s'] = [
["name"=>"test1"],
["name"=>"test2"],
["name"=>"test3"],
];
foreach($a as $k=>&$v1){
}
$test = $a;
foreach($test['s'] as $k=>&$v2){
if($v2['name'] == "test1"){
$v2['value'] = "test4";
}
}
echo '<pre>'.print_r($a,1).'</pre>';
Выводит:Array
(
[s] => Array
(
[0] => Array
(
[name] => test1
[value] => test4
)
[1] => Array
(
[name] => test2
)
[2] => Array
(
[name] => test3
)
)
)
Почему переменная $a изменилась, если меняем только переменную $test? Что не так с адресацией в php? 2 часа выявлял ошибку :-(
Если убрать:
foreach($a as $k=>&$v1){
}
то все в порядке