1 декабря 2010 г.

Google Chrome: Отображение полос прокрутки

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

Страница сайта вызывалась в отдельном окне с обязательной полосой прокрутки слева. Для того, чтобы полоса прокрутки всегда была видна был написан вот такой CSS стиль.

div.main-window {
width:250px;
height: 200px;
overflow-y: scroll;
overflow:auto;
overflow: -moz-scrollbars-vertical;
position:absolute
}

По идее все должно работать в этом стиле есть элементы которые должны воздействовать как на все браузеры, так и на отдельные, такие как Chrome и Safari. Но не все оказалось так просто, Chrome ни в какую не хочет отображать полосу прокрутки, пока содержимое окна нормально в него влазит. Решение оказалось достаточно простое. После приведенного выше стиля, нужно добавить еще один, как показано ниже.

html div.main-window { overflow-y: scroll; }

10 ноября 2010 г.

Валидация с использованием JQuery и Web-сервисов ASP.NET

Валидация данных одна из самых больших проблем, каждого приложения. Записать данные нужно корректно, от этого зависит как будет работать ваше приложение. И часто с проверкой на корректность данных и происходит много проблем, так как часто нам нужно не только проверить, чтобы данные были, но и так же проверить, чтобы они имели необходимый нам формат.
Для проверки введенных пользователем данных в ASP.NET приложениях нам помогают контролы находящиеся в группе Validation в панели Toolbox в Visual Studio, но часто бывает, что мы их не используем или их возможностей не хватает для необходимой нам проверки, тогда приходится или искать контролы сторонних производителей, которые чаще всего стоят денег или изобретать что-то самому. Чем мы сегодня и займемся.

У нас есть список городов, который хранится в базе данных в таблице Towns.
Напишем web-сервис, который будет проверять, есть ли город в таблице.

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1), ScriptService, WebService(Namespace = "http://microsoft.com/webservices/")]
public class ValidationService : WebService
{
[WebMethod]
public bool VerifyTown(string inputTown)
{
using(dbDataContext db = new dbDataContext)
{
Town town = db.Towns.Where(t=>t.TownName == inputTown).FirstOrDefault();
return town != null ? true : false;
}
}
}

Как видно, это обыкновенный web-сервис. Едиственное, что он помечен атрибутом ScriptService, который говорит, что к данному веб сервису можно обращаться используя JavaScript или другие скриптовые языки.

Зарегистрируем наш web-сервис на странице и разместим необходимые нам элементы управления.
В txtTown вводится название города. lblErrorTown показывает сообщение об ошибке, если город введен неверно.

< script language="javascript" src="js/jquery.js" type="text/javascript" />










А вот и сам JQuery скрипт проверки.




Вот собственно и все. Единственный недостаток данного примера, что он не учитывает свойство ValidationGroup, но при желании его можно усовершенствовать и и на работу со своим ValidationGroup. Так же не будет лишним добавить спроверки при сабмите формы.

4 ноября 2010 г.

Полосы прокрутки RadScheduler в IE8

По воле случая пришлось на сайте использовать контрол RadScheduler от Telerik. Полностью настроив контрол обнаружил оин нехороший баг. При использовании браузера Internet Explorer в области календаря появляются полосы прокрутки, тогда как в других браузерах все было хорошо. Установка свойства OverflowBehavior в "Expand", так же результатов не дало.
Оказалось, что сама таблица календаря содержиться вот в такм блоке DIV

< div class="rsContentScrollArea" style="overflow:auto;position:relative;">

Ошибка кроется в overflow:auto. Данный CSS-стиль и создавал наши полосы прокрутки.
Исправить это можно обыкновенным JQuery, как показано ниже.



Всю основную работу делает функция updateMonthView.
Она вызывается сразу при загрузке страницы и после каждого AJAX-события.

27 августа 2010 г.

Скорость и дешевая разработка ПО

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


Остается понять, как же разработчик может снизить цену?


Например использование неких уже готовых решений. Для сайтов использование уже написанных CMS, при этом дизайн к сайту тоже легко можно купить, благо студий занимающихся разработкой дизайна для сайтов очень много, есть больший сайты на которых дизайн можно купить за 60-100$ с уже готовой версткой даже под Вашу CMS, что несомненно сокращает время разработки. Разработчики клиентских приложений так же могут использовать некие шаблоны или готовые решения для основных необходимых возможностей.


Казалось бы, все просто! Есть шаблон, подстроил его под необходимые требования конкретного проекта и все работает. Все довольны. Заказчик получил продукт заплатив мало, разработчик быстро выполнил работу, получил деньги и давай работать над следующим проектом.


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


Возьмем стандартную ситуацию. На каждом сайте есть поиск, который потмогает в поиске информации по данному сайту. Это очень удобно, если сайт большой, так как экономит время. Но почему тогда большая часть пользователей ищет информацию на конкретном сайте с помощью вот такой строки введенной в Google или другой поисковик


Скорость и дешевая разработка ПО site:maiseyeu-ihor.blogspot.com


Мы пользуемся внешними поисковыми системами заместо того, чтобы просто использовать то, что есть на сайте. Это связано не только с тем, что большие поисковики лучше. Часто это связано с тем, что контент на сайте просто не индексируется внутренней поисковой системой потому что для данного контента просто не было написано модуля, который бы правильно индексировал её. Тут все просто. Заказчик видит всегда то, что лежит на поверхности, но не видит того, что внутри, он видит сайт, но не знает как он работает и не может знать верно ли работет индексация информации на сайте? Она может и не работать совсем, тогда строка "ПОИСК" просто выполняет роль некого элемента дизайна, не более. И опять же разработчика мы не можем винить в этом. Поиск это дополнительная работа и дополнительное время. Он просто отработал свои деньги, а за просто так работать никто не будет. Все люди и все хоятят кушать.


Это мои выводы по поводу скоростей и дешевой оплаты труда. Я думаю тут можно привести еще не один довод как в одну сторону так и в другую.

1 августа 2010 г.

Спешка в разработке ПО. Оправданный шаг?

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


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


Кто-то сказал "Торопись неспеша" и он был прав. Всегда нужно стремиться все сделать быстро, но при этом не потеряв качество. Потому лучше продумав и правильно спроектировав приложение, написать его код как можно более качественно, протестировав каждый метод, что может уменьшить в последствии количество запросов в службу технической поддержки по поводу ошибок в работе.


Осталось понять, как это все объяснить заказчику?

15 июля 2010 г.

mojoPortal - Администрирование

Добавил на сайт пару страниц с описанием администрирования CMS mojoPortal. В данный момент туда вошли статьи:


20 июня 2010 г.

mojoPortal 2.3.4.5

Что нового?
  • Новый модуль Bing карты
  • Новые возможности поиска. Теперь для поиска по сайт возможно использовать не только встроенный поис, но и поиск с помощью Google или Bing
  • Был обновлен до последней версии AjaxControlToolkit
  • Обновлен TinyMCE.3.6 до 3.3.7
  • Обновлен CKeditor 3.3 до 3.3.1

Полная статья http://mojoportal.ru/mojoportal-2345.aspx

7 июня 2010 г.

mojoPortal 2.3.4.4

Пару дней назад был анонсирован mojoPortal 2.3.4.4.

Что нового?
  • Первый релиз для которого есть пакеты под разные версии .NET
  • Новый скин artisteer-24flashclouds, который демонстрируется использование Flash в в Artisteer дизайне.
  • Facebook кнопка в блоге.
  • Обновился TinyMCE 3.2.7 до 3.3.6
  • Обновился CKeditor 3.2.1 до 3.3
  • Обновить до последней версии NeatUpload
  • Исправления ошибок прошлых версий
  • Form Wizard Pro 0.0.1.7
  • Event Calendar Pro 0.0.2.8

Полная информация доступна по адресу http://www.mojoportal.com/mojoportal-2344-released.aspx

29 мая 2010 г.

Описание возможностей mojoPortal

  • Кроссплатформенность – Работает на Windows/IIS или Mono/Apache.
  • Поддержка Баз данных: MS SQL Server, SqlAzure, MySQL, PostgreSQL, Firebird Sql, и SQLite
  • Возможность управления более чем одним сайтом использую одну установку системы
  • Поддержка XHTML или HTML 5
  • Изменение дизайна из административного интерфейса использую систему скинов.
  • Использование в качестве редактора контента нескольких редакторов: TinyMCE, FCKeditor, CKEditor.
  •  

    Полный код статьи http://www.mojoportal.ru/features.aspx

    20 мая 2010 г.

    Возобновление работы блога

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

    23 января 2010 г.

    mojoPortal 2.3.3.4

    Давненько я ничего не писал. Просто было очень много работы и совершенно не было времени и так как и сейчас выдумывать что-то ил просто рассказать нечего, то я просто поведаю о том, что интересующиеся люди уже и так знают так как прочитали уже здесь http://www.mojoportal.com/mojoportal-2334-released.aspx Для тех же, кто не читал поведаю, что же нового в mojoPortal 2.3.3.4.

    Новый интерфейс файлового менеджера

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

    mojoqtfilemanager

    Вместе с новым файловым менеджером нам в подарок был дан админский toolbar, который можно использовать конечно, не только как админский. Его использование хорошо видно на офф. сайте http://mojoportal.com

    image

    Общие файлы

    Были внесены изменения в поиск среди общих файлов. Улучшен поиск в содержимом PDF и Word документов.

    Ссылки

    Взгляните на эту страницу http://www.mojoportal.com/sites.aspx наведите мышкой на любую ссылку и все станет понятно. Теперь при наведении на ссылку около неё отображается уменьшенное изображение сайта по этой ссылке.

    Так же изменения коснулись языковых модулей, обновился так же и русский язык.

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

    3 января 2010 г.

    Раскрутка сайта, через спам на блогах

    В данный момент один товариЩ все время спамит в комментах к моим сообщениям. Вот и думаю… какой же противный способ раскрутки. ТовариЩ я удаляю все твои комменты. Хочешь пиши, но НИ ОДНОГО не останется. Не люблю наглость, тем более от конкурентов=)