Александр Туниеков

Александр Туниеков

Был в сети 7 часов назад
Заказы принимаю
Ага. А это пример, что очень нужно поэтому и не понятно. (извиняюсь, что-то на морализаторство потянуло.)
Довольно мало во фронте и несколько неупорядоченно. Хотя больше то наверно не нужно.
сниппеты:
getDefaultUserOrg — Показывает форму редактирования или просмотра данных организации.
Если пользователь в группе Администраторы, то есть права на редактирование, показывает чанк editOrgOuter со строками из чанка editOrgRow. Иначе форму просмотра viewOrgOuter. Параметр onlyView ='1' также показывает viewOrgOuter с editOrgRow для вставки данных организации в какую-нибудь другую форму. (Планировалось, что один пользователь может находиться в разных организациях. Но пришлось урезаться, а название сниппета осталось.)
В форме editOrgOuter, кнопка пользователи переход на страницу пользователей организации со сниппетом
editOrgsUsers — Показывает пользователей организации и инвайты в нее.
Сниппет — показывает таблицу пользователей. Чанки editUserOrgOuter и editUserOrgRow. В таблице кнопки:
Редактирование группы прав пользователя и отключение пользователя. При отключении пользователя его права становятся нулевыми.
То есть функция $Orgs->testAccess($access) из класса organizations.class.php вернет false на любое право. Право — это строка вида «edit_org_data». Настраивается в админке.
$Orgs->getDefaultOrg($userId); возвращает id организации.
В чанке editUserOrgOuter так же таблица инвайтов организации, модальная форма редактирования прав пользователя и модальная форма создания инвайта. Про инвайты пока пропустим.
Сниппет checkAccess проверяет права. Если успешно, то возвращает чанк trueTpl. Иначе параметр falseMsg. Можно перед показом какого-либо ресурса проверить права.
CheckConteiner inviteReg и loginRegisterHook используются при регистрации пользователя. Написаны под [Login] и как они подойдут для других компонентов не знаю. Я их не юзал.
Для подсказок DaData нужно bootstrap, bootstrap3-typeahead.min.js, orgs.js из папки assets\components\organizations\js
Посмотреть код и как это выглядит можно на демо-сайте
http://z9233215.bget.ru/
Как разработчику компонента мне кажется все очевидным. Я еще не знаю какие проблемы и вопросы у Вас могут возникнуть. Попробуйте разобраться. Задавайте вопросы. Может Вы потом захотите написать хороший урок по компоненту :-).
Вау :-) спасибо. Мне всерьез разбираться было лень. Такой четкий ответ радует.
«Выпад» в сторону Modstore и др. был просто примером моего первоначального понимания GPL.
Текст моей «лицензии» несет в себе совсем другую цель, чем лицензия GPL. Поэтому я и не планировал разбираться с ней. Но Ваш пост полезен. Еще раз спасибо.
Цель моей «лицензии», в общем — то, несколько уменьшить влияние власти и госструктур на общество. Они мне как-то не нравятся :-).

1. Этот абзац понятен. Однако, желания читать пост, увы, не появилось :(
Может быть вам это не сильно нужно? Может зачем компонент вы уже поняли, а использовать пока не планируете?
У MODx, например, далеко не все возможности задокументированы. Приходиться искать информацию в поиске. Есть своя цена и за внятное описание и своя цена за освоение информации. Если вы хотите разобраться, то я постараюсь вам помочь. А если в этом нет насущной необходимости, то зачем напрягаться и мне и вам? :-)
Ну, во первых, я тут просто выкладываю свое мнение. Возможно оно ошибочно. Буду рад если меня поправят. Цапаться мне не всегда интересно. Во вторых, я никого не хотел обидеть. Даже если получиться поцапаться :-).

1. Свободное != бесплатное. У нас код не обфусцирован, в бинарники не зажат, никаких проверок лицензий нет. При загрузке пакета ты получаешь исходный PHP, с которым можешь делать, что хочешь.
Транспортный пакет — это не Source Code. _build нет. В лицензии сказано предоставь Source Code.

2. А иначе, если мы де-юре нехорошие люди, а ты такой красивый со своей странной «лицензией», как ты собрался продаваться в modstore.pro?
modstore.pro как услуга продавца. Тем кто хочет оплатить труд автора. Что-то я не догоняю суть претензии. GPL вроде распространять код под своей лицензией не заставляет. Ссылка на Source Code есть. Что мешает продаваться в modstore.pro?

Как говориться, или трусы надень, или крестик сними.
А вдруг я хочу голый под под лучами солнца позагарать? :-)
Ну мне не охота долго разбираться, но они должны предоставлять исходники. Вроде это:
Package providers are free for everyone, and we use the revenue from our Premium Extras to help sustain that service.
Не знаю, только купившим или вообще всем, но скорей всего у них это где-то прописано и учитывается.
На modstore.pro чувствуется, что GPL далеко не всем понятна. Возможно, и владельцу магазина. Умиляют авторы, что пишут что-то вроде «вот мы тут вам исходник предоставили, пожертвовали так сказать собой, можете ставить бесплатно». Просто по условиям GPL, они обязаны предоставить исходник пользователям и они могут свободно его изменять и свободно распространять. И дрюкнуть через суд их может любой пользователь.
Я пример просто привел. Мне зарабатывать на чужих багах нет желания. Я типо умный, гордый. Типо и так на хлеб с маслом себе заработаю :-).
1) Ну, во первых, я довольно ленив и стремлюсь писать кратко и сжато. В итоге получаются обрывки мыслей — тезисы. Во вторых, я люблю попридумывать что-нибудь не стандартное и в процессе, незаметно для себя, сдвигаю значения понятий. Есть риск, что более разжеванное описание запутает читателя еще больше. Проще сделать подробное описание уже в процессе общения с заинтересованными собеседниками.
Надеюсь мои сложносочиненные предложения Вас не запутали ;-).

2) В принципе, я, думаю, людям можно доверять. Хотя, конечно, бывает разное, но, большая часть неблаговидных поступков, как я думаю, совершается либо из нужды либо при недостаточной информированности.
Например, лицензия MODx — GPL. Она требует, чтобы любое ПО производное от MODx было доступно всем для скачивания модифицирования и распространения. Де-юре, магазин modstore.pro уже сам по себе противоречит GPL. ПО не является свободно доступным для скачивания. Теоретически, я могу как пользователь ПО производного от MODx подать в суд магазин и отсудить энную сумму у магазина за нарушение магазином моих прав по лицензии GPL :-). К счастью, русская правовая система до таких извращений еще не дошла. Но в общем-то активно к ним стремиться.
Моя «лицензия» нацелена на то, чтобы вообще отвязать покупку и продажу ПО от правового поля. Умение доверять необходимо и для бизнеса и для общества в целом. Никакие договора отсутствие извратов не гарантируют. Строить доверительные отношения на принципе правового насилия изначально ущербно :-).
В чем потребность использовать dadata.ru и сливать им информацию о ком либо?
Хм… других способов сильно облегчить ввод данных я не знаю :-). И отключение от сервиса даже не предусмотрел. Хотя для параноиков, наверно, галочку стоит ввести.
В целом, спасибо. Титаническая работа.
Пожалуйста. Хотя эпитет титаническая работа удивляет. 3 месяца — это не так много, для путного компонента.
Простите за язвительность. Раздражен был тем, что веллосипед делал. Проблема в том, что прежде чем писать, я потратил довольно много времени на поиск нужного компонента. И ничего не нашел… Искал на на русском. Английский меня раздражает. Вашу документацию сложно найти. Для новичка. До запроса modx двунаправленную синхронизацию данных еще додуматься надо. Конечно
Цель Gitify — обеспечить двунаправленную синхронизацию данных, обычно хранящихся в базе данных MODX, что позволит версионировать код через Git.
полное описание для посвященного в идеалогию git. Но если развернуть это предложение на пару абзацев, в поиске найти Gitify будет гораздо проще.

Для текущих задач, ChangePack мне подходит. Работает как и задумывался. Хотя интересно сделать лучше. Можно выделять на каждую копию сайта пул id и после создания ресурса перезаписывать его id разрешенным id. Возможно подойдет для 2-5 разработчиков. Но это уже без «версионировать код через Git». Неясно будет ли компонент полезным. И захотят ли его, например, купить :). Сейчас буду текущим проектом заниматься. Дорабатывать нет времени.
Не факт ;). По задумкам, возможно, у меня бы получилось лучше :). Но пока Gitify не ставил. Еще не понятно как он работает. Документация на русском пока не айс.
Цель Gitify — обеспечить двунаправленную синхронизацию данных, обычно хранящихся в базе данных MODX, что позволит версионировать код через Git.
Умная фраза :). С налета не поймешь, что это такое Gitify умеет делать и зачем он нужен. Да и в поиске
modx синхронизация копий сайта Gitify не отсвечивал :).
Ладно это я несколько раздражен. Зацепила ваша фраза :).
Можно несколько поподробней как Gitify разрешает конфликты с Id.
Так же с версии 0.9 Gitify build автоматически пытается решить проблему дублирования id и первичных ключей для контента и других объектов. Когда находится объект, первичный ключ которого (обычно это ID) уже существует, этот объект временно сохраняется в памяти. После полного завершения остальной сборки, включающей очистку, будет произведена попытка разрешить этот конфликт. В случае перемещения или переименования объекта/ресурса, благодаря очистке «старый» объект будет удален, в результате чего новый будет вставлен правильно. Если же конфликт на самом деле есть (возможно два разработчика добавили новый ресурс или объект в разных ветках), сохраненный в памяти объект будет вставлен с новым ID. Так же в этом случае для него будет запущена команда Gitify extract.
Ничего не понятно. С честь чего «объект временно сохраняется в памяти». Мм… это понял — билд же делается. Схема работы: с базы локального сайта делается extract в файлы Gitify, файлы Gitify синхронизируются с репозиторием git, другой разработчик синхронизирует репозиторий git со своими файлами Gitify и делает билд данных в свою копию сайта.
Интересно :). Только как быть с рабочим сайтом, который находиться где-то на хостинге где есть только apache и ftp. Как его обновлять?
сохраненный в памяти объект будет вставлен с новым ID. Так же в этом случае для него будет запущена команда Gitify extract.
Не слишком приятно :(. В коде может ссылка на id ресурса. При изменении его id нужно править код.
Ну лучшее враг хорошего. Сейчас мне пока такого хватает. Потом можно допилить. При закидывании на боевой сайт, Id ресурса перезаписывается. Если на боевом сразу кто-нибудь ресурсы создает, возникнет конфликт. У меня пока только я создаю новые ресурсы, и мне только следить, чтобы одновременно не писать на боевом и тестовом.
Вообщем, если дорабатывать компонент, нужно довольно много продумать. Когда буду и буду ли вообще я этим заниматься пока неясно :).