В этом видео показано, как работать с задачами на bitbucket.org
Если кому-то что-то не понятно, обязательно спрашивайте, так как это один из основных наших инструментов, и без него не будет выполняться ни один проект.
Да, сделал его резиновым. На самом деле в Livestreet это делается сменой значения одной системной настройки.
О-о-о! Сайт растянут по ширине! Какая прелесть))) Гораздо лучше стало))
Хочу сразу дать пару рекомендаций по безопасности. Хотя конечно же я уделяю внимание вопросам безопасности на нашем сайте, но надо понимать, что мы не гугл (и т.п.), и у нас нет миллионов долларов на обеспечение безопасности, и мы, как любой средний веб-проект, потенциально уязвимы. Это интернет, с этим ничего не сделаешь. Потому как и любой другой среднестатистический веб-сайт, нас при большом желании можно сломать (это не обязательно правило, но совсем не исключается). Потому большая просьба: обращайтесь с ценной информацией очень осторожно. Особенно это касается данных доступа к хостинг-площадкам и т.п. Не обменивайтесь этими данными на самом сайте даже в личных сообщениях (если на хостинге хранится хоть что-то важное). Не отправляйте эти данные даже через личные сообщения. И старайтесь не отправлять даже через скайп, так как он тоже прославился своей дырявостью. Если отправили через скайп, то сразу после получения сообщения адресатом, удаляйте сообщение. Пока что самый безопасный способ — гугл-почта. Вообще надо дружно собраться, и разработать методики работы с шифрованием данных на стороне пользователя. Средств для этого полно.
Сегодня я опять упорно работал на сайте, и вот несколько нововведений:
1. Теперь на сайте может зарегистрироваться каждый :-))) Только не подумайте, что это регресс (сначала закрывались, а теперь открываемся). Нет. Это мощный и сложный шаг. Дело в том, что закрыться — не сложно. А вот распределить права — это уже сложнее. То есть мы открылись, но не полностью. Новые пользователи могут регистрироваться, писать комментарии, спрашивать что-нибудь, но по прежнему не имеют доступа к некоторым частям сайта. В частности они не смогут скачать те же закрытые файлы, типа как эту сборку из этого топика (то есть на прочтение топик доступен, а скачать файл — никак). А так же пользователь не сможет просматривать профили других пользователей. Так что вы по-прежнему можете смело публиковать свои контакты в профиле, чтобы всем нам было легче работать.
Вот пример: ?
2. Навел боле-мене порядок в сессиях и прочей бяке. Теперь с авторизациями и т.п. не должно быть особых проблем (так как здесь гибрид MODX+Livestreet, мелкие косячки еще могут встретиться).
3. Сделал сайт более СЕО-полезным. В статьях и профилях теперь ссылки не содержат rel=nofollow. Хоть какая-то дополнительная благодарность вам за публикацию материалов (хоть ссылочная масса вечная будет набиваться). Кстати, Илья, поправь информацию в своем профиле, там все еще rel стоит. Просто удали их и сохранись.
4. В профиле появился блок «Статус в MODX-клубе». По умолчанию новые пользователи попадают в группу «Новичок». Проверенные пользователи имеют статус «Член клуба». Таких лейблов может быть много. Основная идея в том, чтобы зайдя в профиль пользователя сразу было хоть как-то понятно, какую он роль играет в жизни Клуба и какой его статус. Вот тут просьба ко всем высказать свои предложения по поводу набора таких статусов. Нам их надо проработать и внедрить, чтобы было понятно сразу и роль деятельности, и заслуги и т.п. Чтобы клиентам было проще определиться «о, вот этот имеет кучу заслуг, значит с ним можно работать». А Рамиз mume наверняка нам поможет с красивым оформлением этих кнопочек.
В общем, будем всячески улучшать наш клуб :-) А сегодня утром я объявлю о проекте. Нужен php-разработчик.
P.S. заметка для программистов. Посмотрите, как элегантно Smarty дружит с MODX (этот вывод групп в профиле пользователя)
{processor ns=modxclub action="profile/groups/getpubliclist" params="user_login={$oUserProfile->getLogin()}" assign=clubGroups} {if $clubGroups.success} <div style="margin-bottom: 50px;"> <h2 class="header-table">Статус в MODX-клубе</h2> <ul> {foreach from=$clubGroups.object item=group} <li>{$group['name']}</li> {/foreach} </ul> </div> {/if}
А это проверка прав
{processor action="acl/profile/canviewcontacts" ns=modxclub assign=havePermission} {if $havePermission.success}...{/if}
Не за что. И наполни профиль, плиз.