Circle Tasks 2: новая версия моего ToDo скрипта

18 сентября, 2009
circle tasks logo

Приветствую всех читателей!

На днях я закончил работу над второй версией ToDo скрипта и теперь хочу о нёй рассказать ;) И, самое главное, почитать ваши отзывы.

Т.к. после релиза первой версии прошло уже больше месяца, я кратко напомню, о чем идет речь.

Думаю, представить себе простейший ToDo список могут все. Это просто перечень дел с отметками «выполнено / не выполнено».

Но существует множество вариантов усовершенствования такого списка. Например, можно придумать различные состояния для задач и обозначить их какими-нибудь символами. Такой подход значительно упрощает работу с большими списками, т.к. вы можете сортировать и фильтровать задачи по различным критериями (состояние, дата).

Для этого скрипта я использовал одну из таких систем обозначений. Её разработал Sigurdur Armannsson. Подробно её описание вы найдете в предыдущей статье.

Сейчас речь пойдет именно об изменениях по сравнению с предыдущей версией.

Сразу дам ссылки на страницу с демо версией и архив.

демонстрационный пример

архив с исходным кодом

UPD: Добавил версию, предназначенную для установки в папку сайта, а не на отдельный хост

архив с исходным кодом

Для входа можно использовать demo аккаунт (логин: admin@todo.loc, пароль: password) или создать нового пользователя (ссылка «Регистрация» под. формой входа). Только учтите, что приложение позволяет изменять пароль, и если кто-то успеет изменить его до вас, то вам останется только регистрация.

1) Изменилось название :) . Теперь скрипт называется Circle Tasks. Это название ближе к названию оригинала.

2) Изменился дизайн. Тут изменения не очень большие. Подобраны более подходящие иконки для операций «Изменить» и «Удалить», перерисованы иконки состояний задач. Изменена цветовая гамма (надеюсь в лучшую сторону :) ).

3) Интерфейс. Вот здесь изменений больше всего.

Во-первых, я учел отличные рекомендации Steward и убрал inline редакторы. Сначала мне казалось, что они будут ускорять работу, но оказалось что это не так. Теперь чтобы изменить задачу нужно кликнуть по кнопке «Изменить», откроется форма, содержащая все необходимые поля.

update_note

Во-вторых, в меню добавлен пункт «Настройки». Он ведет на страницу, которая позволяет изменить язык приложения и пароль.

Предпочитаемый язык сохраняется отдельно для каждого пользователя в базе данных. Если точно определить язык не возможно (например, вы не залогинились), то используются данные из заголовка Accept-Language, который отправляет ваш браузер.

На данный момент доступны русский и английский языки.

4) Поддержка неограниченного количества пользователей.

Я хочу сразу пояснить, что это приложение задумывалось как однопользовательское. А «поддержка неограниченного количества пользователей» означает, что можно регистрировать сколько угодно пользователей, но ToDo список будет у каждого свой. Отправлять задания другим пользователям нельзя.

И, честно говоря, я сомневаюсь, что этот функционал нужно добавлять. Т.к. в результате получится совершенно другое приложение, более сложное и рассчитанное на другую аудиторию. Примеры таких приложений вы можете посмотреть здесь.

В общем, если я когда-нибудь и займусь такой разработкой, то это будет совершенно другое приложение, а не очередная версия Circle Tasks.

5) Уменьшился размер JS файлов. В основном за счет замены jQuery UI () на JQuery Tools.

Кстати я первый раз использовал JQuery Tools и впечатления самые положительные. Функционала, конечно, меньше, чем в jQuery UI, но его должно хватить в 90% случаев. Легко изменяется оформление компонентов. И главное преимущество – размер. В общем, всем рекомендую попробовать.

Об основных изменениях я рассказал. Если у вас возникли вопросы, замечания или пожелания, пишите, буду рад на них ответить!

Понравилась статья? Подписывайтесь на продолжение rss link !

Или на мой твиттер twitter link

]]>

Добавьте эту страницу в google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

]]>

Опубликовано в Web разработка, Разное Комментарии (172) »

]]>

Вы можете оставить комментарий. Трекбеки закрыты.

  • bullder

    Как бы тестовый заход интересно сразу бы )

    А то регистрироваться приходиться

    • http://www.simplecoding.org/ Владимир

      Тестовый вход есть
      логин: admin@todo.loc, пароль: password
      но проблема в том, что кто угодно может изменить пароль. База данных восстанавливается каждые 24 часа, но это проблему не решает. Если сегодня кто-то залогинился с тестовым аккаунтом до вас и изменил пароль, то вы сможете только зарегистрироваться.
      Я специально упростил регистрацию (никаких captcha и подтверждений на email).

  • bullder

    Как бы тестовый заход интересно сразу бы )

    А то регистрироваться приходиться

    • http://www.simplecoding.org/ Владимир

      Тестовый вход есть
      логин: admin@todo.loc, пароль: password
      но проблема в том, что кто угодно может изменить пароль. База данных восстанавливается каждые 24 часа, но это проблему не решает. Если сегодня кто-то залогинился с тестовым аккаунтом до вас и изменил пароль, то вы сможете только зарегистрироваться.
      Я специально упростил регистрацию (никаких captcha и подтверждений на email).

  • http://frontendme.ru/ Front-end Developer

    Привет. Сейчас гляну, тоже что-нибудь напишу :)

  • http://frontendme.ru/ Front-end Developer

    Привет. Сейчас гляну, тоже что-нибудь напишу :)

  • http://frontendme.ru/ Front-end Developer

    1. Есть скролл горизонтальный под 1024х768 FF. Не эстетично :)
    2. Иконки статусов по-моему неоднозначны, фиг знает. Хотя, это на первый взгляд так, если подумать вроде понимаешь что к чему.

    Вообще классно, надо туда ссылки еще вставить и форматирование текста.

    • http://www.simplecoding.org/ Владимир

      Иконки придумал не я. В статье автора есть подробное описание этой системы.

      • http://frontendme.ru/ Front-end Developer

        Может показалось… но WYSIWYG в силе :)

        • http://www.simplecoding.org/ Владимир

          Я вообще-то думал, что нужно прикрутить к полю с текстом какой-нибудь редактор, но не был уверен. Хочется оставить приложение максимально простым.

        • http://frontendme.ru/ Front-end Developer

          Тогда, думаю, как минимум, автодобавление ссылки к тексту ссылки.

        • http://www.simplecoding.org/ Владимир

          Я наверное сделаю версию с редактором и попробую поработать.

        • http://frontendme.ru/ Front-end Developer

          В любом случае, спасибо, полезный скрипт.

  • http://frontendme.ru/ Front-end Developer

    1. Есть скролл горизонтальный под 1024х768 FF. Не эстетично :)
    2. Иконки статусов по-моему неоднозначны, фиг знает. Хотя, это на первый взгляд так, если подумать вроде понимаешь что к чему.

    Вообще классно, надо туда ссылки еще вставить и форматирование текста.

    • http://www.simplecoding.org/ Владимир

      Иконки придумал не я. В статье автора есть подробное описание этой системы.

      • http://frontendme.ru Front-end Developer

        Может показалось… но WYSIWYG в силе :)

        • http://www.simplecoding.org/ Владимир

          Я вообще-то думал, что нужно прикрутить к полю с текстом какой-нибудь редактор, но не был уверен. Хочется оставить приложение максимально простым.

        • http://frontendme.ru/ Front-end Developer

          Тогда, думаю, как минимум, автодобавление ссылки к тексту ссылки.

        • http://www.simplecoding.org/ Владимир

          Я наверное сделаю версию с редактором и попробую поработать.

        • http://frontendme.ru/ Front-end Developer

          В любом случае, спасибо, полезный скрипт.

  • http://be3.su/ Be3

    Изменить запись -> Статус
    Ситуация: Случайно кликнул на статус
    Действия: Что бы оставить прежний статус, необходимо найти его в списке и выбрать.
    На мой взгляд не совсем юзер френдли. К тому же наличие в списке такого же статуса немного сбивает с толку +)

    Но это называется нашел к чему прикопаться +) В целом молодец, Вов!
    Вечерком почитаю код +)

    • http://be3.su/ Be3

      Случайно вывел в списке дел notice. Удалив из формы поле "Статус" с помощью firebug… а говорили все поля обязательные +)

  • http://be3.su Be3

    Изменить запись -> Статус
    Ситуация: Случайно кликнул на статус
    Действия: Что бы оставить прежний статус, необходимо найти его в списке и выбрать.
    На мой взгляд не совсем юзер френдли. К тому же наличие в списке такого же статуса немного сбивает с толку +)

    Но это называется нашел к чему прикопаться +) В целом молодец, Вов!
    Вечерком почитаю код +)

    • http://be3.su Be3

      Случайно вывел в списке дел notice. Удалив из формы поле "Статус" с помощью firebug… а говорили все поля обязательные +)

  • http://rmcreative.ru/ Sam

    Начинает напоминать http://planary.ru/ ;)

    • http://www.simplecoding.org/ Владимир

      Спасибо за наводку, я этот сервис раньше не видел.

  • http://rmcreative.ru/ Sam

    Начинает напоминать http://planary.ru/ ;)

    • http://www.simplecoding.org/ Владимир

      Спасибо за наводку, я этот сервис раньше не видел.

  • http://www.gordejev.lv/ Gordejev

    классный скриптик, спасибо!

  • http://www.gordejev.lv/ Gordejev

    классный скриптик, спасибо!

  • serator

    Не лучше ли сделать при заходе загрузку всех данных на json'е (формат на вкус и цвет) и далее строить / фильтрировать с помощью js. Данных-то с копейку по сути выходит.

    + в некоторых записях в нижней строке не видно нижних частей букв вроде "j", "q", "g" и подобных. Нижняя часть у них просто обрезается.

    + A PHP Error was encountered
    Severity: Notice
    Message: Undefined index:
    Filename: views/todolist.php
    Line Number: 26

    + У одной из записей статус "undefined".

    В целом задумка неплохая, но реализация пока хромает… Продолжайте развивать, возможно выйдет нечто толковое ;)

    • http://www.simplecoding.org/ Владимир

      Данных действительно с копейку, но отправляется лишний запрос.

  • serator

    Не лучше ли сделать при заходе загрузку всех данных на json'е (формат на вкус и цвет) и далее строить / фильтрировать с помощью js. Данных-то с копейку по сути выходит.

    + в некоторых записях в нижней строке не видно нижних частей букв вроде "j", "q", "g" и подобных. Нижняя часть у них просто обрезается.

    + A PHP Error was encountered
    Severity: Notice
    Message: Undefined index:
    Filename: views/todolist.php
    Line Number: 26

    + У одной из записей статус "undefined".

    В целом задумка неплохая, но реализация пока хромает… Продолжайте развивать, возможно выйдет нечто толковое ;)

    • http://www.simplecoding.org/ Владимир

      Данных действительно с копейку, но отправляется лишний запрос.

  • http://www.simplecoding.org/ Владимир

    Большое спасибо за отзывы!
    Я постараюсь в ближайшее время исправить ошибки.

  • http://www.simplecoding.org/ Владимир

    Большое спасибо за отзывы!
    Я постараюсь в ближайшее время исправить ошибки.

  • http://blogstudenta.ru/ student

    Отличная задумка и реализация.
    Но хотелось бы увидеть реализацию в виде программы. Быстро открыл, написал, свернул в трей.
    Установка на локалке наверное не выход.
    или возможно сменить немного дизайн и ставить на рабочий стол активным содержимым

    • http://www.simplecoding.org/ Владимир

      Я подумаю что можно сделать. По-идее приложение на adobe air должно подойти… правда я с air не работал ))

      • http://blogstudenta.ru/ student

        air кстати да. можно как вариант.

  • http://blogstudenta.ru student

    Отличная задумка и реализация.
    Но хотелось бы увидеть реализацию в виде программы. Быстро открыл, написал, свернул в трей.
    Установка на локалке наверное не выход.
    или возможно сменить немного дизайн и ставить на рабочий стол активным содержимым

    • http://www.simplecoding.org/ Владимир

      Я подумаю что можно сделать. По-идее приложение на adobe air должно подойти… правда я с air не работал ))

      • http://blogstudenta.ru student

        air кстати да. можно как вариант.

  • http://minskstroi.info/ Ignat

    Как зарегиться на сайте? Что-то не догоняю ):

    • http://www.simplecoding.org/ Владимир

      Кликнуть по ссылке "Регистрация" под кнопкой "Войти" и заполнить форму. После этого можно залогиниться.

  • http://minskstroi.info/ Ignat

    Как зарегиться на сайте? Что-то не догоняю ):

    • http://www.simplecoding.org/ Владимир

      Кликнуть по ссылке "Регистрация" под кнопкой "Войти" и заполнить форму. После этого можно залогиниться.

  • http://aktuba.ru/ aktuba

    Во-первых, я учел отличные рекомендации Steward и убрал inline редакторы. Сначала мне казалось, что они будут ускорять работу, но оказалось что это не так.

    Можно подробнее? Мне всегда казалось, что inline-редакторы и быстрее и удобнее (во всяком случае, для меня)…

    • http://www.simplecoding.org/ Владимир

      Там проблема была не в inline редакторах как таковых, а в их реализации :) и в специфике приложения.
      Часто возникает необходимость изменить статус задачи и одновременно что-то добавить в описание. В таких случаях inline редакторы тормозили работу, т.к. выполнялось два отдельных запроса для сохранения изменений.

  • http://aktuba.ru aktuba

    Во-первых, я учел отличные рекомендации Steward и убрал inline редакторы. Сначала мне казалось, что они будут ускорять работу, но оказалось что это не так.

    Можно подробнее? Мне всегда казалось, что inline-редакторы и быстрее и удобнее (во всяком случае, для меня)…

    • http://www.simplecoding.org/ Владимир

      Там проблема была не в inline редакторах как таковых, а в их реализации :) и в специфике приложения.
      Часто возникает необходимость изменить статус задачи и одновременно что-то добавить в описание. В таких случаях inline редакторы тормозили работу, т.к. выполнялось два отдельных запроса для сохранения изменений.

  • http://www.univer.ws/ Бакалавр

    Есть большая проблема, может здесь кто нибудь подскажет как ее решить, буду очень благодарен….
    Есть ли скрипт который автоматически удаляет все файлы из определенной папки на сервере скажем раз в 24 часа?

    • http://www.simplecoding.org/ Владимир

      Зачем скрипт? Файлы можно удалить обычной командой из консоли.
      Создаете задачу в планировщике (Cron) и указываете нужную команду. А периодичность можно задать практически любую.

  • http://www.univer.ws/ Бакалавр

    Есть большая проблема, может здесь кто нибудь подскажет как ее решить, буду очень благодарен….
    Есть ли скрипт который автоматически удаляет все файлы из определенной папки на сервере скажем раз в 24 часа?

    • http://www.simplecoding.org/ Владимир

      Зачем скрипт? Файлы можно удалить обычной командой из консоли.
      Создаете задачу в планировщике (Cron) и указываете нужную команду. А периодичность можно задать практически любую.

  • http://blog.gtalex.ru/ GTAlex

    Бакалавр – ну такой срипт за 2 минуты можно написать :)

    Владимир – ToDo скрипт – опять же очень к месту !
    пол интернета перерыл в поисках ОНЛАЙН (локальные не интересуют), остановился на супер простом виджете "Список дел" от гугла – но там как оказалось ограничение в 10 дел :) и снова проблема повисла в воздухе – а самому писать вообще в ломы :)

    а тут готовый скрипт – так вообще секьюрно получается – все твои дела, у тебя же на сервере :)

    ща заюзаю скриптец … !

  • http://blog.gtalex.ru GTAlex

    Бакалавр – ну такой срипт за 2 минуты можно написать :)

    Владимир – ToDo скрипт – опять же очень к месту !
    пол интернета перерыл в поисках ОНЛАЙН (локальные не интересуют), остановился на супер простом виджете "Список дел" от гугла – но там как оказалось ограничение в 10 дел :) и снова проблема повисла в воздухе – а самому писать вообще в ломы :)

    а тут готовый скрипт – так вообще секьюрно получается – все твои дела, у тебя же на сервере :)

    ща заюзаю скриптец … !

  • http://blog.gtalex.ru/ GTAlex

    блин – ну ничего у меня с первого раза не работает :)
    на денвере вообще кнопка добавить задачу не пашет,
    на серваке при создании задачи дата обведена красным – типа неправильно
    2009-09-22
    и кнопка добавить не жмется :(
    вообще я без даты хотел бы задач понавтыкать !
    я задачи ставлю без дат – просто чтоб не забыть
    а вот возможность добавлять приоритеты для каждой задачи – это необходимо ! (хотябы звёздочками выделять)

  • http://blog.gtalex.ru GTAlex

    блин – ну ничего у меня с первого раза не работает :)
    на денвере вообще кнопка добавить задачу не пашет,
    на серваке при создании задачи дата обведена красным – типа неправильно
    2009-09-22
    и кнопка добавить не жмется :(
    вообще я без даты хотел бы задач понавтыкать !
    я задачи ставлю без дат – просто чтоб не забыть
    а вот возможность добавлять приоритеты для каждой задачи – это необходимо ! (хотябы звёздочками выделять)

  • http://blog.gtalex.ru/ GTAlex

    второй раз попробовал – ничего красным не обведено, кнопку "добавить" жму – а она не нажимается

    • http://www.simplecoding.org/ Владимир

      Вы ставите скрипт в корень или отдельную папку?

  • http://blog.gtalex.ru GTAlex

    второй раз попробовал – ничего красным не обведено, кнопку "добавить" жму – а она не нажимается

    • http://www.simplecoding.org/ Владимир

      Вы ставите скрипт в корень или отдельную папку?

  • http://blog.gtalex.ru/ GTAlex

    в демку тоже войти не получилось – ни со стандартной учеткой, ни с вновь зарегестрированной
    "Неверная пара логин/пароль, попробуйте ещё раз"

  • http://blog.gtalex.ru GTAlex

    в демку тоже войти не получилось – ни со стандартной учеткой, ни с вновь зарегестрированной
    "Неверная пара логин/пароль, попробуйте ещё раз"

  • http://neverlex.com/ Never Lex

    Спасибо! Будем тестить. В связке с микроТУДУ от Тормаза думаю будет самое оно!

  • http://neverlex.com Never Lex

    Спасибо! Будем тестить. В связке с микроТУДУ от Тормаза думаю будет самое оно!

  • http://blog.gtalex.ru/ GTAlex

    вообще готовое приложение с открытым кодом – очень здорово, но мне как начинающему в CodeIgniter было бы здорово создание подобного приложения кратенько по шагам …
    есть какой нить материальчик подобный ?

    • http://www.simplecoding.org/ Владимир

      У меня была небольшая серия постов. На http://net.tutsplus.com/ есть скринкасты (на английском), официальный сайт…

  • http://blog.gtalex.ru/ GTAlex

    вообще готовое приложение с открытым кодом – очень здорово, но мне как начинающему в CodeIgniter было бы здорово создание подобного приложения кратенько по шагам …
    есть какой нить материальчик подобный ?

    • http://www.simplecoding.org/ Владимир

      У меня была небольшая серия постов. На http://net.tutsplus.com/ есть скринкасты (на английском), официальный сайт…

  • http://neverlex.com/ Never Lex

    Не понял…

    Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.

  • http://neverlex.com Never Lex

    Не понял…

    Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.

  • http://neverlex.com/ Never Lex

    Поставился нормально вроде как. Но даже первую страницу не хочет открывать. Висит

    • http://www.simplecoding.org/ Владимир

      Вы создавали виртуальный домен или ставили в отдельную папку?
      Попробуйте ввести адрес страницы вход
      http://localhost/main/login (никаких редиректов при этом отправляться не должно)
      Мне нужно больше информации чтобы понять в чем дело.

      • http://neverlex.com/ Never Lex

        Ставил на поддомен на реальном хосте. Может чото с настройками PHP не так?

        • http://www.simplecoding.org/ Владимир

          Скрипт не требует каких-то особых настроек. Если у вас работает CodeIgniter и есть доступ к MySQL, то все должно быть в порядке.

          Попробуйте просто установить CI, а потом замените папку application.

  • http://neverlex.com Never Lex

    Поставился нормально вроде как. Но даже первую страницу не хочет открывать. Висит

    • http://www.simplecoding.org/ Владимир

      Вы создавали виртуальный домен или ставили в отдельную папку?
      Попробуйте ввести адрес страницы вход
      http://localhost/main/login (никаких редиректов при этом отправляться не должно)
      Мне нужно больше информации чтобы понять в чем дело.

      • http://neverlex.com Never Lex

        Ставил на поддомен на реальном хосте. Может чото с настройками PHP не так?

        • http://www.simplecoding.org/ Владимир

          Скрипт не требует каких-то особых настроек. Если у вас работает CodeIgniter и есть доступ к MySQL, то все должно быть в порядке.

          Попробуйте просто установить CI, а потом замените папку application.

  • http://eltime.ru/ Виталий

    Спасибо за програмку, все работает. Жду полноценной версии.

  • http://eltime.ru/ Виталий

    Спасибо за програмку, все работает. Жду полноценной версии.

  • VRuslan

    Пожелания для последующих версий:
    - реализация функций, подобных http://www.toodledo.com/info/index.php:
    1) создание представлений списка задач по периодам (на неделю, месяц…), для печати (в виде PDF-буклета);
    2) синхронизация с мобильными устройствами;

    - разделить маркеры:
    1) выполнения задачи (можно предложенные кружочки) и
    2) важности задачи (A-"важно и срочно", B-"важно", C-"срочно", D-"не важно и не срочно"), см. Тайм-менеджмент по Бодо Шеферу http://wayleader.blogspot.com/2009/04/blog-post_17.html
    ;

    Спасибо за скрипт!

    • http://www.simplecoding.org/ Владимир

      Спасибо за советы! Я стараюсь учитывать пожелания, но при этом по возможности оставлять приложение максимально простым.

      Например. Очень часто важные дела автоматически являются срочными.

  • VRuslan

    Пожелания для последующих версий:
    - реализация функций, подобных http://www.toodledo.com/info/index.php:
    1) создание представлений списка задач по периодам (на неделю, месяц…), для печати (в виде PDF-буклета);
    2) синхронизация с мобильными устройствами;

    - разделить маркеры:
    1) выполнения задачи (можно предложенные кружочки) и
    2) важности задачи (A-"важно и срочно", B-"важно", C-"срочно", D-"не важно и не срочно"), см. Тайм-менеджмент по Бодо Шеферу http://wayleader.blogspot.com/2009/04/blog-post_17.html
    ;

    Спасибо за скрипт!

    • http://www.simplecoding.org/ Владимир

      Спасибо за советы! Я стараюсь учитывать пожелания, но при этом по возможности оставлять приложение максимально простым.

      Например. Очень часто важные дела автоматически являются срочными.

  • VRuslan

    Владимир, у меня не добавляется новая задача – поля заполнил, дата введена в верном формате, но работает только кнопка "отмена".
    Что может быть не так?

    • http://www.simplecoding.org/ Владимир

      Если не сложно, проверьте firebug'ом куда уходит запрос (при клике по кнопке запрос появится в консоле).

      • VRuslan

        Запрос данные передает:

        n_date 2009-09-29
        n_text Simple task

        , уходит по следующему адресу и получает ошибку:

        The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.

  • VRuslan

    Владимир, у меня не добавляется новая задача – поля заполнил, дата введена в верном формате, но работает только кнопка "отмена".
    Что может быть не так?

    • http://www.simplecoding.org/ Владимир

      Если не сложно, проверьте firebug'ом куда уходит запрос (при клике по кнопке запрос появится в консоле).

      • VRuslan

        Запрос данные передает:

        n_date 2009-09-29
        n_text Simple task

        , уходит по следующему адресу и получает ошибку:

        The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.

  • http://www.simplecoding.org/ Владимир

    Запрос должен уходить на
    _http://demosites.org.ua/simpletasks/main/addnote
    В адресе не должно быть index.php, т.к. .htaccess его автоматически добавляет.
    Проверьте application/config/config.php

  • http://www.simplecoding.org/ Владимир

    Запрос должен уходить на
    _http://demosites.simplecoding.org/simpletasks/main/addnote
    В адресе не должно быть index.php, т.к. .htaccess его автоматически добавляет.
    Проверьте application/config/config.php

  • http://www.blogocode.com/ firstrow

    Было-бы не плохо для таска не только дату редактировать но еще и время.
    Например Task 1 нужно выполнить до 09-09-2009 14:30.

    ПС.
    Скрипт понравился. =)

    • http://www.simplecoding.org/ Владимир

      Спасибо, учту.

  • http://www.blogocode.com/ firstrow

    Было-бы не плохо для таска не только дату редактировать но еще и время.
    Например Task 1 нужно выполнить до 09-09-2009 14:30.

    ПС.
    Скрипт понравился. =)

    • http://www.simplecoding.org/ Владимир

      Спасибо, учту.

  • http://www.azion.kz/ Дос

    Рекомендую сделать как в iPhone программе ToDo`s:
    - возможность переставлять по приоритетам (вверх или вниз)
    - три уровня важности (важный, средний и малый)
    - Заметки.

    Будет оень удобно.

    • http://www.simplecoding.org/ Владимир

      Спасибо за совет.
      Но такие изменения приведут к изменению принципа работы. Например, сейчас можно указать состояние задачи "Важная" или "Требующая особого внимания" и выполнять поиск с учетом этих состояний. Если еще добавить и уровни важности, то, боюсь, возникнет путаница.

  • http://www.azion.kz Дос

    Рекомендую сделать как в iPhone программе ToDo`s:
    - возможность переставлять по приоритетам (вверх или вниз)
    - три уровня важности (важный, средний и малый)
    - Заметки.

    Будет оень удобно.

    • http://www.simplecoding.org/ Владимир

      Спасибо за совет.
      Но такие изменения приведут к изменению принципа работы. Например, сейчас можно указать состояние задачи "Важная" или "Требующая особого внимания" и выполнять поиск с учетом этих состояний. Если еще добавить и уровни важности, то, боюсь, возникнет путаница.

  • Алексей

    При добавлении и удалении, работает кнопка отмена, кнопка добавить и удалить – работает, но окно не закрывает

    Fatal error: Call to undefined function json_encode() in /system/application/controllers/main.php on line 503

    • http://www.simplecoding.org/ Владимир

      Это значит, что на сервере не включена поддержка json.
      Либо у вас PHP 4, либо ее просто нужно включить в php.ini.
      Варианты решения. Если нет доступа к php.ini и возможности поменять сервер, то можно использовать эту функцию.

      • Алексей

        Спасибо, получилось.
        Еще один вопрос: Возможно ли в настройках отключить регистрацию, для чего настройки smtp?

        • http://www.simplecoding.org/ Владимир

          В конфиге отключение регистрации не предусмотрено, но вы можете заблокировать к ней доступ.
          Для этого в файле applicationcontrollersmain.php измените строку 38.
          Текущий вариант
          $allowedPages = array('login', 'checklogin', 'register', 'checkregister');
          вам нужно
          $allowedPages = array('login');

          После этого можно убрать ссылку "Зарегистрироваться". Файл applicationviewsloginform.php
          Убрать нужно строку 14 в которой вызов
          anchor('main/register'…

        • http://www.simplecoding.org/ Владимир

          Какие настройки smtp?

        • Алексей

          applicationconfigemail.php – там :)

        • http://www.simplecoding.org/ Владимир

          Это стандартные настройки фреймворка (CodeIgniter). С ним в комплекте идет библиотека для отправки email. В этом приложении не используется.

  • Алексей

    При добавлении и удалении, работает кнопка отмена, кнопка добавить и удалить – работает, но окно не закрывает

    Fatal error: Call to undefined function json_encode() in /system/application/controllers/main.php on line 503

    • http://www.simplecoding.org/ Владимир

      Это значит, что на сервере не включена поддержка json.
      Либо у вас PHP 4, либо ее просто нужно включить в php.ini.
      Варианты решения. Если нет доступа к php.ini и возможности поменять сервер, то можно использовать эту функцию.

      • Алексей

        Спасибо, получилось.
        Еще один вопрос: Возможно ли в настройках отключить регистрацию, для чего настройки smtp?

        • http://www.simplecoding.org/ Владимир

          В конфиге отключение регистрации не предусмотрено, но вы можете заблокировать к ней доступ.
          Для этого в файле application\controllers\main.php измените строку 38.
          Текущий вариант
          $allowedPages = array('login', 'checklogin', 'register', 'checkregister');
          вам нужно
          $allowedPages = array('login');

          После этого можно убрать ссылку "Зарегистрироваться". Файл application\views\loginform.php
          Убрать нужно строку 14 в которой вызов
          anchor('main/register'…

        • http://www.simplecoding.org/ Владимир

          Какие настройки smtp?

        • Алексей

          application\config\email.php – там :)

        • http://www.simplecoding.org/ Владимир

          Это стандартные настройки фреймворка (CodeIgniter). С ним в комплекте идет библиотека для отправки email. В этом приложении не используется.

  • http://ofseo.ru/ Prizrak177

    Возникает ошибка при работе со скриптом. Не удаётся открыть даже main/login

    No input file specified.

    Пробовал ставить как в отдельную папку, так и на суб домен. Никак не могу найти где в скриптах берётся значение document_root, так как хочется всё же с папку установить =)

    • http://www.simplecoding.org/ Владимир

      DocumentRoot – этот параметр указывается в настройках сервера (httpd.conf). В нем указывается папка в которой находятся ваши скрипты. Параметр может быть один для всего сайта или указываться отдельно для каждого виртуального домена.
      Т.е. вы должны распаковать архив с приложением в эту папку.

  • http://ofseo.ru Prizrak177

    Возникает ошибка при работе со скриптом. Не удаётся открыть даже main/login

    No input file specified.

    Пробовал ставить как в отдельную папку, так и на суб домен. Никак не могу найти где в скриптах берётся значение document_root, так как хочется всё же с папку установить =)

    • http://www.simplecoding.org/ Владимир

      DocumentRoot – этот параметр указывается в настройках сервера (httpd.conf). В нем указывается папка в которой находятся ваши скрипты. Параметр может быть один для всего сайта или указываться отдельно для каждого виртуального домена.
      Т.е. вы должны распаковать архив с приложением в эту папку.

  • http://blog.gtalex.ru/ GTAlex

    В общем так на денвере кнопки "Добавить", "Удалить" и "Редактировать" не пашут, на выделенном сервере всё окей.

    Пробовал firebug'ом глянуть – при клике по кнопке запрос появится в консоле не появился :(

    как ещё можно попробовать диагностировать проблему ?

    $config['base_url'] = "http://todo/";

  • http://blog.gtalex.ru GTAlex

    В общем так на денвере кнопки "Добавить", "Удалить" и "Редактировать" не пашут, на выделенном сервере всё окей.

    Пробовал firebug'ом глянуть – при клике по кнопке запрос появится в консоле не появился :(

    как ещё можно попробовать диагностировать проблему ?

    $config['base_url'] = "http://todo/";

  • http://blog.gtalex.ru GTAlex

    почему то линк
    a href="http://todo/#" rel="#newnote"

    нихрена не обрабатывается нормально

  • http://blog.gtalex.ru/ GTAlex

    почему то линк
    a href="http://todo/#" rel="#newnote"

    нихрена не обрабатывается нормально

  • http://blog.gtalex.ru/ GTAlex

    при загрузке страницы в фаербурге
    K.style is undefined строка 30
    L is null строка 31

    • http://www.simplecoding.org/ Владимир

      Если кнопки не работают, значит, либо js файлы не загрузились, либо не назначены обработчики.
      Попробуйте поставить точку останова в firebug'е и посмотреть как скрипты выполняются.
      Кроме того, в firebug'е вы можете посмотреть содержимое всех скриптов, если вы этого содержимого не видите, значит скрипты не загружены.

  • http://blog.gtalex.ru GTAlex

    при загрузке страницы в фаербурге
    K.style is undefined строка 30
    L is null строка 31

    • http://www.simplecoding.org/ Владимир

      Если кнопки не работают, значит, либо js файлы не загрузились, либо не назначены обработчики.
      Попробуйте поставить точку останова в firebug'е и посмотреть как скрипты выполняются.
      Кроме того, в firebug'е вы можете посмотреть содержимое всех скриптов, если вы этого содержимого не видите, значит скрипты не загружены.

  • Pingback: И снова о CodeIgniter (PHP фреймворк) | Заработок в интернете - о способах и инструментах

  • Гарик

    Скачал, установил на локалхосте (Денвер). При просмотре кода вдруг выяснил, что мой CuteFTP 8 не корректно отображает текст на русском (не понимает utf-8?). Победил таким способом: открывал ручками в блокноте каждый файл и копипастил в файл на локалхосте. Помогло – все формы стали отображаться на русском. Но. Возникла другая проблема (или продолжение прежней) – создаю новую запись, сохраняю её и до обновления страницы она остаётся читаемой, а после обновления страницы (после подгрузки из БД) русский текст превращается в кракозябры. При этом в БД он без кракозябр, а при отображении в форме становится кракозябрами.
    Помогите! Где ковырять?

    • http://www.simplecoding.org/ Владимир

      Проверять все кодировки.
      1) файлов (это вы уже сделали);
      2) базы данных (нужно проверить не только кодировку таблиц, но и кодировку соединения);
      3) веб сервера.

  • Гарик

    Скачал, установил на локалхосте (Денвер). При просмотре кода вдруг выяснил, что мой CuteFTP 8 не корректно отображает текст на русском (не понимает utf-8?). Победил таким способом: открывал ручками в блокноте каждый файл и копипастил в файл на локалхосте. Помогло – все формы стали отображаться на русском. Но. Возникла другая проблема (или продолжение прежней) – создаю новую запись, сохраняю её и до обновления страницы она остаётся читаемой, а после обновления страницы (после подгрузки из БД) русский текст превращается в кракозябры. При этом в БД он без кракозябр, а при отображении в форме становится кракозябрами.
    Помогите! Где ковырять?

    • http://www.simplecoding.org/ Владимир

      Проверять все кодировки.
      1) файлов (это вы уже сделали);
      2) базы данных (нужно проверить не только кодировку таблиц, но и кодировку соединения);
      3) веб сервера.

  • http://blog.portal.kharkov.ua/ Ю.Б.

    Плохо, что оно в субдиректории не живёт. А искать проблемные места, так проще свою написать :)

    • http://www.simplecoding.org/ Владимир

      Я добавил исправленную версию. Ссылка в статье. Будут проблемы, обращайтесь!

  • http://blog.portal.kharkov.ua/ Ю.Б.

    Плохо, что оно в субдиректории не живёт. А искать проблемные места, так проще свою написать :)

    • http://www.simplecoding.org/ Владимир

      Я добавил исправленную версию. Ссылка в статье. Будут проблемы, обращайтесь!

  • http://blog.portal.kharkov.ua/ Ю.Б.

    Спасибо за оперативность! Но я уже… впрочем, это не важно. Всё равно СПАСИБО.

    • http://www.simplecoding.org/ Владимир

      Пожалуйста :)
      В любом случае, эта версия уже была готова, я просто забыл выложить ссылку. Так что, это вам спасибо :)

  • http://blog.portal.kharkov.ua/ Ю.Б.

    Спасибо за оперативность! Но я уже… впрочем, это не важно. Всё равно СПАСИБО.

    • http://www.simplecoding.org/ Владимир

      Пожалуйста :)
      В любом случае, эта версия уже была готова, я просто забыл выложить ссылку. Так что, это вам спасибо :)

  • Alex

    Хотелось бы иметь возможность указать для задания начало и окончание, чтобы на протяжении этого периода задание было в списке на сегодня.

    А за скрипт спасибо!

    • http://www.simplecoding.org/ Владимир

      Спасибо! Я учту пожелание.

  • Alex

    Хотелось бы иметь возможность указать для задания начало и окончание, чтобы на протяжении этого периода задание было в списке на сегодня.

    А за скрипт спасибо!

    • http://www.simplecoding.org/ Владимир

      Спасибо! Я учту пожелание.

  • http://blog.gtalex.ru/ GTAlex

    как говориться "а что можно было?" (за ответами на комменты то слежу)
    :)
    я о том – подумалось, что Владимир демонстрирует возможности фреймворков и т.д., на модификацию и улучшения даже и не думал в каменты писать.
    в принципе реально полезный продукт и если Владимир возмётся за улучшение оного, приму участие не только в качестве тестра

    • http://www.simplecoding.org/ Владимир

      У меня действительно большинство статей – демонстрация каких-то возможностей. Но это приложение сделано по рабочей системе и реализует весь её функционал (во всяком случае тот, который доступен на бумаге).

      Я сам действительно пользуюсь этой системой (правда, чаще при записи дел в обычный ежедневник). И больше всего в нем мне нравится простота.

      Я написал @Alex, что учту пожелание, и я это сделаю, но это не означает, что изменения будут именно такие. Если задать время начала и окончания задания, например, с разницей в три дня и поместить все такие невыполненные задания в список "На сегодня", то название этого пункта потеряет смысл. С другой стороны, есть пункт "Не выполненные" в которые попадают все невыполненные задания. Я, например, не уверен, что хотел бы, чтобы невыполненные задания исчезали из этого списка после того как заканчивается их срок выполнения. Поэтому я пока не знаю как лучше использовать время начала и окончания задания так, чтобы всем было однозначно понятно, что при этом произойдет.

      И я с радостью приму любую помощь. В принципе, можно будет разместить исходники на google codes. Только сначала хотелось бы составить ориентировочный план действий и продумать изменения, чтобы они были понятны не только разработчикам, но и пользователям ;)

  • http://blog.gtalex.ru/ GTAlex

    как говориться "а что можно было?" (за ответами на комменты то слежу)
    :)
    я о том – подумалось, что Владимир демонстрирует возможности фреймворков и т.д., на модификацию и улучшения даже и не думал в каменты писать.
    в принципе реально полезный продукт и если Владимир возмётся за улучшение оного, приму участие не только в качестве тестра

    • http://www.simplecoding.org/ Владимир

      У меня действительно большинство статей – демонстрация каких-то возможностей. Но это приложение сделано по рабочей системе и реализует весь её функционал (во всяком случае тот, который доступен на бумаге).

      Я сам действительно пользуюсь этой системой (правда, чаще при записи дел в обычный ежедневник). И больше всего в нем мне нравится простота.

      Я написал @Alex, что учту пожелание, и я это сделаю, но это не означает, что изменения будут именно такие. Если задать время начала и окончания задания, например, с разницей в три дня и поместить все такие невыполненные задания в список "На сегодня", то название этого пункта потеряет смысл. С другой стороны, есть пункт "Не выполненные" в которые попадают все невыполненные задания. Я, например, не уверен, что хотел бы, чтобы невыполненные задания исчезали из этого списка после того как заканчивается их срок выполнения. Поэтому я пока не знаю как лучше использовать время начала и окончания задания так, чтобы всем было однозначно понятно, что при этом произойдет.

      И я с радостью приму любую помощь. В принципе, можно будет разместить исходники на google codes. Только сначала хотелось бы составить ориентировочный план действий и продумать изменения, чтобы они были понятны не только разработчикам, но и пользователям ;)

  • http://www.vldcrowd.com Radioact

    Прежде всего спасибо за замечательный софт, Владимир!

    Поправки, которые по-моему, сделают софт лучше:

    1. Добавить список статусов и при создании новой задачи. Довольно часто в список приходится вносить уже начатую или очень важную задачу и хочется указать это при добавлении записи, дабы не открывать ее снова.

    2. Обнуление прошлых значений полей "Создать задачу", при неоднократном добавлении задач. Довольно неюзабельно выделять текст, стирать перед вводом нового, листать выбирать новую дату, если предыдущая была "не сегодня". Хотелось бы чтобы все начиналось с чистого листа.

    3. Ну это мое имхо, сортировать по умолчанию можно по дате в убывающем порядке – новые вверху. Ведь после аяксового добавления последняя задача и так вверху.

    Хотелось бы сказать, что все эти три пункта я реализовал сегодня у себя и если понадобится, могу выслать.

  • http://www.simplecoding.org Владимир

    Спасибо вам за такое внимание к моей работе! Это очень приятно.

    И за советы.
    Со вторым и третьим согласен полностью, это мои недоработки.

    С первым можно немного поспорить, т.к. исходя из идеологии системы
    любая задача начинается с пустого кружка к которому потом добавляются
    дополнительные отметки. С другой стороны, если такая функция экономит
    время, то ее имеет смысл реализовать.

    В общем, буду благодарен, если вы пришлете код. Я напишу новый пост со
    ссылкой на вас.

  • Greg

    Здраствуйте Владимир, в ваших дистро не указано как их можно использовать(я имею ввиду лицензию). Я например считаю что ваша система(to do) намного удобней чем та которой мы пользуемся в нашей конторе. Хотелось бы знать насколько ее можно использовать.
    В идеале конечно пивная лицензия(если встретимся то угощаю сколько влезет :) )

  • http://www.vldcrowd.com Radioact

    Ваша работа заслуживает внимания. Выслал модифицированную версию.

    Вот добавил еще маленькое условие при добавлении и изменении задачи,
    при клике на статус, раньше только выпадал список.
    Теперь если он выпавший – сворачивается.

    А еще можно чекбоксы добавить в список и выполнять
    действия над несколькими задачами сразу: Удалить/Поменять статус.
    Постраничная навигация, опять же (или есть?).
    Ну и треугольнички для сортировки списков рядом с Состояние Текст Дата. Или это из категории "… и тут Остапа понесло"?

  • http://www.simplecoding.org Владимир

    Да, это моя недоработка :)
    Вы можете использовать код как угодно, за исключением:
    - торговли им (без меня);
    - включения в состав платных продуктов;
    - удаления моего имени и ссылок на simplecoding.org из кода.

    Т.е. можете спокойно ставить и пользоваться :)

    Если захотите доработать и поделиться результатом, пишите.

  • Pingback: Особое программирование » Post Topic » Неожиданное обновление CircleTasks

  • VLD

    При входе как админ пишет вот что:

    Fatal error: Call to a member function num_rows() on a non-object in Z:homelocalhostwwwcircle_taskssystemapplicationmodelsmoptions.php on line 41

  • http://www.simplecoding.org Владимир

    Похоже какая-то проблема с базой. Импорт файла с базой прошел нормально?
    Таблица options в создалась?

  • http://andrey-roslik.myopenid.com/ Kirby

    Много deprecated ошибок :(
    PHP 5.3.2

    ошибка при логине

    An Error Was Encountered
    The URI you submitted has disallowed characters.

    проблема в добавлении экранирования в файле URI.php line 189
    должно быть кажется так:
    if ( ! preg_match("|^[".($this->config->item('permitted_uri_chars'))."]+$|i", $str))

  • http://andrey-roslik.myopenid.com/ Kirby

    Deprecated: Assigning the return value of new by reference is deprecated in D:homectaskssystemcodeigniterCommon.php on line 130

    Deprecated: Assigning the return value of new by reference is deprecated in D:homectaskssystemcodeigniterCommon.php on line 136
    A PHP Error was encountered

    Severity: 8192

    Message: Function set_magic_quotes_runtime() is deprecated

    Filename: codeigniter/CodeIgniter.php

    Line Number: 60
    A PHP Error was encountered

    Severity: 8192

    Message: Assigning the return value of new by reference is deprecated

    Filename: libraries/Loader.php

    Line Number: 255
    A PHP Error was encountered

    Severity: 8192

    Message: Assigning the return value of new by reference is deprecated

    Filename: database/DB.php

    Line Number: 133

  • http://www.simplecoding.org Владимир

    К сожалению, обновления фреймворка (CodeIgniter) не было очень давно, поэтому в версях PHP 5.3+ и возникают эти сообщения.
    Исправлять исходники фреймворка – занятие, на мой взгляд, неблагодарное. К тому же, разработчики все-таки обещаю показать новую версию.
    К тому же у большинство хостеров на данный момент не обновились до версии 5.3+.

  • Alextekkk

    Если добавить разбивку по категориям, то ценность скрипта возрастет…
    Буду качать и доделывать под себя – классный скриптик )))

    • http://www.simplecoding.org Владимир

      Не уверен. Идея таких TODO списков состоит в том, что задачи вы выполняете достаточно быстро. А категории скорее предназначены для классификации записей, которые будут долго храниться.

  • Добра желатель :)

    1. Хорошо добавить цветовую маркировку в меню. Например, красным в меню выделить "Важные", а зеленым – "Все".
    2. Неплохо добавить в список задач. Важные и требующие особого внимания – красные; выполненные – серые.3. Колонка "Правка" лишняя, лучше щелкать в название задачи и статус.4. Заодно получаем больше места вширь для длинных названий.5. Для новичков к значкам (чтобы легче освоить незнакомую систему знаков) пририсовать бы дополнения. Лично для меня значок "Проект начался" по внешнему виду скорее "Проект отменен".А вот маленький зеленый треугольничек "Play" в углу значка этот диссонанс заметно сгладит (все нормально, работа идет). Напротив, мелкий зеленый значок "Пауза" обозначал бы, что проект приостановлен.5. Попутно получаем отличную гибкость обозначений:- Начат – и в работе- Начат – и приостановлен- Выполнен на 1/2 – и работа продолжается- Выполнен на 1/2 – и приостановлен.

    • http://www.simplecoding.org Владимир

      Интересное предложение. Но мне систему значков менять не хочется. В конце концов, к любой системе нужно привыкать, а здесь условных обозначений очень немного и через пару дней использования дополнительные пояснения теряют смысл.

  • Добра желатель :)

    mainmenu выводить бы с font-weight:bold. Я сделал – сразу стало лучше.

    P.S. а куда исчез мой предыдущйи комментарий? Пока не закрыл страницу – он выглядел как успешно отправленный. Премодерация?

    • http://www.simplecoding.org Владимир

      Оба комментария автоматически получили статус Approved.

  • http://seoatom.ru/ SEOATOM

    Отличный скрипт, спасибо, очень помог!

  • Dark Smoke

    Прочел что вы не хотите делать ТуДу лист с остановкой задач другим пользователям. Уже с ног сбился. Как раз нуж очень простой ТуДу лист, но с возможностью давать задачи другим пользователям с минимумом функций. Очень бы хотелось такое увидеть.

    • http://www.simplecoding.org Владимир

      Установка задач другим пользователям автоматически подразумевает контроль их выполнения, разграничение прав по уровням (иначе пользователь сможет удалить задачу без вашего ведома), создание соответствующих отчетов и т.п.
      Попробуйте использовать redmine.

      • Mail

        Предложение на пару пачек поп-корна, не меньше. 

        Догадались сравнить огромный тяжеловесный управлятор под рельсами с маленьким шустрым скриптом без спецтребований к хостингу.

        • Mail

          Уточню: Ваш скрипт – один из лучших в своей категории. Его бы всего чуть-чуть нарастить. 
          Гантты, трекеры, файлохранилица, SVN, вики и дополнительные условия для установки – не нужны.

        • http://www.simplecoding.org Владимир

          Большое спасибо за такой отзыв :)

          Но мой скрипт простой только по одной причине – он рассчитан на индивидуальное использование. Добавим других пользователей – сразу нужно будет делить права, заполнять справочники, создавать отчеты и т.п.

          Я сам часто пользуюсь redmine'ом. Если трекеры, файлохранилица, SVN, вики и остальное не нужны – их можно не настраивать. Хотя вики – очень полезный инструмент при коллективной работе. Интерфейс у redmine очень удобный, настройка занимает минимум времени.

          С установкой, конечно, сложнее. Нужно поставить библиотеки для руби нужной версии, но все-равно это намного проще чем писать подобную систему самому (даже если нужна только часть возможностей).

]]>
Tweet