Неудачный опыт создания и администрирования сайта научного журнала
Говорить о том, как не надо заказывать сайты, у разработчиков уже язык устал. Но совершенно справедливо подмечено, что свой опыт крайне трудно вложить в чужую голову, а посему неопытные заказчики продолжают наступать на одни и те же грабли. Возможно, одна из причин в том, что подходят к роковому предмету садового инвентаря все с разных сторон и каждый собственным путем. Поделюсь своим.
Прежде всего признаюсь, в какой степени я чайник. В средней школе на уроках информатики якобы освоила (в пределах школьной программы) элементарные основы языка html, в начале XXI века с помощью хтмлеглюкатора (термин Максима Мошкова) MS Front Page открыла и вела на бесплатном хостинге сайт совсем без дизайна: главная страница оформлена по одному из стандартных шаблонов хостинга, прочие подчиненные страницы — с черным текстом на белом или сером фоне. Для сетевой публикации околохудожественных произведений собственного сочинения большего и не требовалось. А через несколько лет я зарегистрировалась на «Самиздате» у Максима Мошкова и свой сайт совсем забросила. Мои познания в области веб-дизайна так и остались на зачаточном уровне начала века.
В 2014 году в одном из технических университетов создали научный журнал гуманитарной направленности и я пришла работать в его редакцию. В университете уже выходил (и теперь продолжает издаваться) научно-технический журнал. Его сайт представлял собой один из разделов общего сайта вуза. Администратор университетского сайта напрямую подчинялся начальнику информационно-вычислительного центра (ИВЦ), а тот установил строгую очередность выкладывания материалов на сайт. Даже профильный журнал не был в этой очереди первым, и некоторые его новости ко времени, когда до них доходили руки у администратора сайта, уже успевали потерять актуальность. Само собой, редакция нового журнала, да к тому же гуманитарного, оказалась бы в самом дальнем конце очереди и не могла мечтать об оперативном размещении своих материалов на сайте.
Заведующая редакцией решила, что нас это не устраивает, тем более что ей чисто внешне был несимпатичен минималистский дизайн университетского сайта, работающего под управлением 1С-Битрикс. Она добилась от начальника ИВЦ разрешения, а от проректора по научной работе — энной суммы денег на создание самостоятельного сайта нового журнала с размещением на стороннем хостинге. Начальник ИВЦ, скептически улыбаясь, пророчествовал: «Всё равно рано или поздно прибежите в ножки мне кланяться».
У заведующей редакцией накопился большой опыт административной работы, но в сайтах она разбиралась еще меньше, чем я. Используя административный ресурс, она привлекла к созданию сайта нового журнала двух аспирантов с кафедры, готовившей специалистов по информационным технологиям. Оба разработчика поневоле, разумеется, не пылали энтузиазмом что-либо создавать за те деньги, что выделил проректор, но у них не было выбора. Выбор они предложили нам: скомпоновать сайт из готовых модулей («из детских кубиков», как они нам на пальцах объясняли) или написать его, как полагается по-хорошему и как делают взрослые серьезные люди.
И вот здесь мы совершили первую ошибку. Настолько неопытным пользователям, какими были и остаемся мы, сайта «из кубиков» хватило бы за глаза и за уши. Такие сайты просты не только в создании, но и в управлении, поскольку рассчитаны на людей, понимающих в администрировании веб-ресурсов чуть больше, чем ничего.
Но нет же, нам нужно было всё всерьез и по-взрослому. При этом никаких конструктивных предложений по функционалу сайта у нас не было. Из-за этого мы совершили вторую ошибку — не задали правильных вопросов разработчикам. В свое оправдание могу сказать только одно: если какое-то дело для тебя совершенно новое, ты не можешь догадаться, какие вопросы правильные. Завредакцией указала в качестве примерного образца сайт журнала другого вуза, а в остальном, по ее собственным словам, сформулировала требования в духе «вот с такими перламутровыми пуговицами». У меня же требований к внешнему виду сайта не было никаких, и я сказала: «Как сделаете, так и будет хорошо».
Через некоторое время разработчики принесли нам ноутбук, на котором продемонстрировали, как сайт выглядит и работает, и по нашей просьбе порекомендовали хостинг. Под их наблюдением мы заключили договор с хостинг-провайдером и зарегистрировали для сайта доменное имя. Завредакцией рассчиталась за выполненную работу, и какое-то время всё было хорошо. Мне показали, как наполнять сайт содержанием, что-то я запомнила, а что-то так и нет. К тому времени, как у меня накопилась кучка вопросов, из двух разработчиков остался только один (второй защитился, и завредакцией утратила административные рычаги воздействия на него). Оставшийся аспирант был крайне недоволен тем, что я постоянно лезла к нему с вопросами, на связь выходил редко и в конце концов заявил, что его делом была только разработка. О написании инструкций, технической поддержке и обучении бестолковых гуманитариев азам контент-менеджмента с ним никто не договаривался, и подписываться на это не входило в его планы. Заведующей пришлось привлекать мне на выручку других своих аспирантов, магистрантов и студентов, и их совместными усилиями изначальная структура сайта (работающего под управлением CMS Joomla) была сильно модифицирована в целях максимального упрощения. И всё равно мне было трудно справляться с сайтом. Загружать новые данные я худо-бедно научилась, а вот редактировать уже загруженные было по-прежнему тяжело. Я понятия не имела о том, что такое динамические сайты, и тщетно пыталась в режиме администрирования сайта искать страницы с нужным мне названием и расширением html. Их не было. Для меня оказалось большим неприятным сюрпризом то, что статические сайты (микроскопический опыт работы с которыми у меня был) давно уже канули в Лету, а в динамических сайтах страничек просто не существует до тех пор, пока к ним не обращаются. И если обратиться к одной и той же странице 20 тысяч раз подряд, она 20 тысяч раз послушно будет создана заново.
И это было еще полбеды. Настоящая беда пришла, когда закончился календарный год. С ним закончились все шаблоны, созданные разработчиками для примера. Для новых выпусков журнала в следующем календарном году нужно было всё создавать самой. Инструкции для нашего конкретного сайта у меня не было. Я почитала общие инструкции по Джумле и с грехом пополам создала набор категорий для нового года. Даже обрадовалась, что вроде бы всё получилось. Но, как оказалось впоследствии, греха было намного больше половины. Я заметила, что содержание номеров журнала, расписанное по статьям с помощью моих новых категорий, выглядит не так, как раньше. Откуда-то появились поля, которых прежде не было. Я поудивлялась, но решила, что это не страшно. Подумаешь, непривычно выглядит! Лишь бы работало.
В этом состояла третья ошибка. Внезапно мы начали получать сообщения от хостинг-провайдера о том, что наш сайт превышает допустимый объем трафика и чрезмерно перегружает хостинг. Все советы, содержащиеся в разделе «Часто задаваемые вопросы» на хостинге, я послушно выполнила, но это не помогло. А хостинг-провайдер продолжал слать грозные письма. В самых категоричных выражениях от нас требовали решить проблему превышения трафика, иначе в предоставлении услуги хостинга нам будет отказано. В университете мне помочь никто не мог или не хотел, и в отчаянии я попросила своего мужа взглянуть на злополучный сайт. Муж сразу же задал правильный вопрос: «А ты в курсе, что у вас комментарии к статьям открыты?»
Разумеется, я была не в курсе. Научные статьи — не сообщения в соцсетях, комментарии им не нужны. Модерировать комментарии и ставить защиту от злоумышленников было некому и некогда. В шаблонах, созданных разработчиками, ненужные функции были отключены. Но я-то не подозревала ни об их существовании, ни о том, что при создании категорий всё, что не требуется, надо самостоятельно отключать. Через бесхозные комментарии полезла мощная армия спам-ботов, именно это и стало причиной превышения объема трафика. Бороться с проблемой я пыталась примерно так, как звучит издевательский совет по борьбе с тараканами: «Загоните всех тараканов под шкаф и отпилите у него ножки». Я удаляла комментарии и отключала возможность комментирования постатейно. Управляющего элемента более высокого уровня, который устранил бы функцию комментирования сразу по всему сайту, я не нашла. И конечно же, пока я ковырялась, хостинг-провайдер устал ждать и выполнил свою угрозу. Нас вежливо попросили удалиться с хостинга.
Здесь сбылось пророчество начальника ИВЦ. Мы приползли падать к нему в ножки и Христа ради просить пустить наш журнал на хостинг университета. Точнее, ползти пришлось завредакцией. Меня начальник ИВЦ в упор не видел и мои попытки поговорить с ним считал нарушением субординации. К концу моей трудовой деятельности в университете он смягчился и переменил отношение ко мне, но тогда было так. Он некоторое время тешил самолюбие созерцанием коленопреклоненной заведующей и на разные лады повторял, что он так и знал, предупреждал, чем вся затея кончится и тому подобное, но в конце концов смягчился. Снова напоминаю, что я гуманитарий, и прошу извинить меня за упрощенный взгляд на сложные системные объекты и процессы. Насколько я поняла, нашему сайту как потенциально небезопасному объекту было выделено некое особое место на хостинге, нечто вроде карантина, под охраной специальных программ. Там он продолжал работать под Джумлой, как было задумано разработчиками. Но если для посетителей сайта ничего не изменилось, то администрирование стало еще труднее. Отныне выполнения каждой команды в режиме административной работы с сайтом приходилось ждать минуту и дольше. По всей видимости, защитные системы мешали сайту создавать динамические странички. Я закричала: «Караул, ну невозможно же так работать!» Завредакцией снова вступила в переговоры с кафедрой, готовившей специалистов по информационным технологиям, и волевым усилием двух заведующих (редакцией и кафедрой) системным администратором был назначен несчастный студент. От него я наконец-то получила инструкцию по управлению сайтом, а благодаря его ответам на вопросы, возникшие у меня после прочтения этого документа, и у меня кое-что начало проясняться в голове. Студент починил элементы интерфейса, надломленные усилиями по упрощению сайта и окончательно отказавшие после перехода на университетский хостинг. Правда, вникать в чужую работу слишком глубоко он не стал, посчитал простое решение наиболее надежным, благодаря чему в нескольких местах сайта появились милые моему сердцу статичные html-страницы. Общими усилиями мы со студентом рассортировали обратно по номерам журналов смешавшиеся в беспорядочную кучу статьи. Он создал запас нужных категорий с правильно установленными ограничениями функций еще на пару лет. Но всё хорошее когда-нибудь заканчивается. Студент завершил обучение, и я опять осталась с сайтом один на один.
Исчерпав запас созданных студентом шаблонов, в начале очередного календарного года я совершила очередную ошибку. Статичная html-страница, содержавшая перечень всех выпусков журнала за все года, позволила мне увидеть, что год является категорией. Но ведь журнал ежеквартальный, следовательно, в году четыре номера и нет такого выпуска, который содержал бы материалы за весь год. На этом основании я решила, будто бы можно сделать еще одно упрощение: для следующего года категорию не создавать. Тем более что в англоязычной версии сайта годы выпуска перестали быть категориями после 2015 года. Ничтоже сумняшеся я привела русскую версию к упрощенному стандарту английской и… инструкция перестала работать. Это теперь я понимаю, что иначе и быть не могло. Студент писал инструкцию без учета столь существенного упрощения. Но тогда я впала в панику: как же так, всё делаю как написано, а результата нужного не получаю?! Содержание выпусков журнала на русском языке перестало отображаться на сайте. Я засыпала выпускника, бывшего администратора, письмами, но получила от него суровую отповедь: он больше не учится в этом вузе, договор с ним никто не продлил, оплату до сих пор произвели не полностью, так что не о чем нам разговаривать. Напоследок он посоветовал проверить ссылки. Методом мучительного перебора вариантов весьма нескоро я нашла такой вариант русских ссылок, который был очень похож на английские, и это сработало. Пропавшие русские статьи появились каждая под своим номером и под нужным годом. Сказать не могу, какое облегчение я испытала! Будто гора упала с плеч.
Но тут выяснилось, что борьба с сайтом забирает слишком много рабочего времени. Журнал входит в Перечень ВАК, распространяется по подписке, а потому должен выходить вовремя. Это — первоочередная задача, а всё остальное потом, если и когда останется время. И я была вынуждена свести наполнение сайта к минимуму. Загружала только номера полностью и файлы отдельных статей, аналитическую роспись номеров вести перестала, как и пополнять базу данных об авторах. Сайт на три четверти зачах. Печальная история.
Но у нее всё-таки может быть хороший конец. Основному научно-техническому журналу университета была поставлена задача войти в международные базы данных. Одно из условий вхождения в них — развитый двуязычный сайт, самостоятельный по отношению к сайту издающей организации. Руководство вуза закупило у 1С-Битрикс соответствующую лицензию. И я прочитала в рекламном проспекте к ней, что минимальное количество сайтов, на которое эта лицензия распространяется, — не один, а два. Теоретически есть возможность перевести оба журнала на единую техническую платформу с удобным быстрым администрированием. Но это уже другая история, и рассказывать ее не мне. С октября 2019 года я больше не работаю в университете.