Интерфейс управления файлами
Общие принципы
Пользователи со статусом Писатель и выше получают в своё распоряжение личную папку, структуру которой они могут выстраивать по личному усмотрению: создавать в ней другие папки с неограниченной иерархией. Корневым именем для неё является идентификатор пользователя (логин), который был им указан при регистрации.
Например, если пользователь зарегистрирован с логином ivan, то все ссылки на его файлы будут выглядеть как: ivan/<путь_к_файлу>. Это относительный путь к соответствующему файлу. Реальный путь к файлу статьи, книги или массива данных не отображается в режиме просмотра кода страницы в браузере и его знают только владелец сайта и внутренние алгоритмы системы. Даже пользователи со статусом Администратор могут его не знать.
Файлы статей, книг и массивов данных пользователя могут быть созданы в любой из папок, лежащих ниже его личной папки.
Интерфейс управления файлами публикаций
Войти в интерфейс управления файлами может только пользователь со статусом не ниже уровня Писатель. Ссылку для первичного входа в этот интерфейс может и должен создать кто-либо из администраторов или редакторов сайта на одной или нескольких общедоступных страницах. Формально эта ссылка известна: index.php?~=uf_vfk. И её может установить в одной из созданных им статей любой Писатель. При переходе по ней любой авторизованный Писатель попадёт строго в личную папку. Неавторизованные пользователи или Читатели по такой ссылке никуда не попадут и им будет выдано сообщение о недопустимости для них данной операции.
При начальном входе в интерфейс управления файлами будет представлен список файлов корневой папки пользователя. Папки (каталоги), книги и статьи выделяются разным фоновым цветом (зависит от установленных владельцем сайта CSS-установок).
Строка описания каталога содержит:
имя каталога, представленное на ссылка на вход в него;
информационную строку.
Информационная строка содержит:
поле метки;
код прав доступа;
совокупный размер содержимого всех файлов всех вложенных в него каталогов в байтах;
дату и время последней модификации.
Строки описания статей и книг содержат:
название файла, представленное на ссылка на него;
информационную строку;
аннотацию к файлу (если она задана).
Информационная строка содержит:
поле метки;
имя файла в файловой системе;
код прав доступа;
размер файла в байтах;
дату и время последней модификации.
Фоновый цвет описания файлов статей и книг различаются.
Следует различать понятия название файла и имя файла. Имя файла имеет традиционный смысл и определяет его идентификацию в файловой системе. Название файла - это информация, задаваемая метаданными структурированного файла публикации. Подробнее структурированные файлы рассматриваютс в статье Типы и структура используемых файлов.
При переходе по ссылке на название книги или статьи выполняется вход в стандартный интерфейс их отображения. Для этого открывается новое окно (вкладка) браузера.
При переходе по ссылке на имя файла в том же окне (вкладке) браузера выполняется вход в интерфейс его редактирования.
При переходе по ссылке на имени каталога в том же окне (вкладке) браузера выполняется вход в соответствующий каталог с интерфейсом управления файлами.
В верхней части окна интерфейса управления файлами в виде ссылок отображаются все вышележащие по иерархии каталоги. В нижней строке заголовочной части отображается имя текущего каталога. Благодаря этому возможен быстрый переход к любому вышележащему каталогу данной иерархии.
Под списком вышележащих каталогов размещается меню операций интерфейса, содержащее пункты:
Создать - создание файлов разного типа;
Каталоги - создание одного или нескольких каталогов в данном каталоге;
Загрузки - переход в каталог загруженных файлов.
В нижней части формы отображения списка файлов каталога размещаются кнопки:
Публиковать - вызывает интерфейс публикации выбранных объектов в уже существующих книгах;
Список - выводит список выбранных объектов;
Объединить - объединяет содержимое выбранных файлов;
Удалить - вызывает интерфейс удаления выбранных файлов и каталогов;
Закрыть - закрывает окно интерфейса управления файлами.
При нажатии на кнопку Публиковать система выводит полный список уже существующих и опубликованных книг, в которые допустимо включение выбранных публикаций. Пометив в данной форме нужные книги пользователь может включить в них отмеченные для публикации файлы. Если для публикации выбраны каталоги или файлы, не являющиеся публикациями (не имеют рсширения s или k), то они игнорируются.
Кнопка Список выводит форму, которая в единственном поле многострочного ввода содержит перечень имён выбранных файлов с путями к ним начиная с имени корневого каталога пользователя. Такая возможность бывает полезной при создании новых книг.
Кнопка Объединить выводит форму, которая в единственном поле многострочного ввода включает объединение содержимого выбранных текстовых файлов. Если выбраны также и каталоги, то они игнорируются.
Кнопка Удалить выводит список выбранных файлов и каталогов и предлагает их удалить или отказаться от удаления. При подтверждении выбранные файлы и каталоги удаляются. При удалении каталога рекурсивно удаляется всё его содержимое, включая содержимое вложенных каталогов.
Создание и редактирование файлов в интерфейсе управления файлами
Переход по ссылке Создать интерфейса управления файлами осуществляет вход в интерфейс создания файла.
Созданию файла предшествует выбор его типа:
Файл статьи | s |
Файл сборника | k |
Файл с произвольным текстом | txt |
Перечень шаблонов типов файлов и их определение содержатся в массиве ключ/значение uf_msf файла системной конфигурации и/или файла конфигурации сайта (konfig). Шаблоны могут быть переопределены указанием иных значений. Подробнее этот вопрос рассматривается в статье Конфигурирование сайта.
После выбора любого типа файла открывается стандартный для всех типов интерфейс их формирования. Он представляет собой форму с полями ввода:
имени файла;
его содержимого;
кнопку Записать;
ссылку Отменить.
Полю ввода имени файла предшествует неизменяемое значение пути к каталогу, в котором он будет создан, а также неизменяемое расширение, по которому система будет опознавать имя файла. В поле ввода следует ввести имя файла, под которым он будет фигурировать в данном каталоге. Здесь есть несколько нюансов.
Имя файла можно не задавать. Тогда при записи его содержимого ему автоматически будет присвоено имя вида:
ГГГГ-ММ-ДД_ЧЧ-ХХ-СС_<логин>
Здесь:
ГГГГ - четырёхзначное значение текущего года;
ММ - двухзначное значение текущего месяца;
ДД - двухзначное значение текущего дня;
ЧЧ - двухзначное значение текущего часа;
ХХ - двухзначное значение текущей минуты;
СС - двухзначное значение текущей секунды;
<логин> - логин данного пользователя.
Данная конструкция называется в системе базовый идентификатор файла (БИФ).
Если имя файла задаётся, то оно должно содержать только латинские буквы, цифры, символы "_" (подчёркивание) и "-" (минус), а также метасимвол "*". Любые другие символы (особенно пробелы) категорически не допускаются. Если в любой позиции введённого имени содержится метасимвол "*", то он автоматически заменяется на конструкцию БИФ с сохранением всех предыдущих и последующих введённых символов. Эта возможность позволяет структурировать имена с сохранением некоторых специфических функций выборки файлов, зависящих от даты/времени его создания и логина владельца.
Расширением имени файла будет s, k или txt в зависимости от выбранного типа.
В поле Cодержание вводятся данные файла в зависимости от его типа. Порядок формирования содержания файлов разных типов рассматривается далее.
При создании файла в поле Cодержание автоматически включается шаблон формирования файла, содержащий его разметку, предусмотренную массивом ключ/значение uf_msf файла системной конфигурации и/или файла конфигурации сайта (konfig) для файла выбранного типа. Для файлов статьи сюда, помимо шаблона, автоматически включаются секции, формируемые на основании перечня файлов Избранного, созданного данным пользователем (подробнее см. Избранное ). Именем такой автоматически создаваемой секции является имя соответствующего файла Избранного, которому предшествует символ подчёркивания (_). В качестве содержимого секции генерируется текст описания массива данных расширения типа Альбом, раздел данных которого содержит команду автоматической вставки всех строк данного файла Избранного. Кроме того, при наличии файлов Избранного в текст включается секция .funkcii, в которой содержатся шаблоны функций формирования альбома на основании данных автоматически подключённых секций.
При подключении данных система не анализирует конкретные типы данных, содержащиеся в файлах Избранного. Чаще всего в файлы Избранного включаются именно списки медиа-файлов. Поэтому автоматически строятся массивы данных расширения Альбом, а в перечень шаблонов функций секции .funkcii - встроенные функции, предусматривающие манипулирование такого рода данными.
В последующем при ручной правке содержимого файла автоматически присоединённые секции могут быть удалены и/или изменены по усмотрению пользователя, а нужные шаблоны функций могут быть перенесены в нужное место предопределённой секции Содержание (.s). По опыту разработчика системы механизм автоматического присоединения данных файлов Избранного в виде отдельных секций часто оказывается полезным и экономит время и силы при создании новых статей. Избыточность вставки не является проблемой, поскольку ненужные в данной статье автоматически присоединённые секции легко могут быть удалены при ручной правке файла.
При нажатии на кнопку Записать производится сохранением создаваемого файла под указанным именем в текущем каталоге. Ссылка Отменить прерывает ввод без создания файла и сохранения введённого содержимого. В любом случае осуществляется возврат к списку файлов текущего каталога.
Правка публикаций возможна двумя способами:
1. из режима просмотра публикации;
2. из интерфейса управления файлами.
В первом случае, если пользователь является Владельцем публикации, то при её просмотре в подвале страницы выводится ссылка "Правка", переход по которой открывает форму редактирования содержимого публикации. При сохранении изменений Система выводит изменённую публикацию.
Вход в режим редактирования публикации из интерфейса управления файлами осуществляется переходом по ссылке на имени файла. В этом случае выводится форма, аналогичная форме создания файла. При этом пользователь имеет возможность не только изменить содержимое публикации в том же файле, но и сохранить её в файле с другим именем. Таким образом реализуется стандартный механизм "Сохранить как".
Структура файлов статей и книг
Все файлы публикаций являются специальным образом структурированными текстовыми файлами, условно разбитыми на неограниченное число секций. Признаком начала секции является символ "." (точка) в начале новой строки. Сразу после точки размещается имя секции, состоящее из произвольной комбинации символов. Далее должен следовать хотя бы один пробел или конец строки. Все строки текста после имени секции до строки, содержащей признак начала новой секции, или до конца файла являются содержимым секции. Подробнее см. Типы и структура используемых файлов.
Заполнение секций данными из других источников
Любая секция может может автоматически пополняться данными из других источников. Подробнее см. Заполнение секций данными из других источников.
Регулирование прав доступа к публикации
Регулирование прав доступа к публикации осуществляется в соответствии с данными, заданными в секциях .d и .p по правилам, изложенными в статье Регулирование прав доступа к публикации.
Интерфейс управления загруженными файлами
Вход в интерфейс управления загруженными файлами осуществляется переходом по ссылке Загрузки интерфейса управления файлами. Соответствующая форма открывается в отдельном окне (вкладке).
Здесь выводится линейный список файлов, загруженных данным пользователем. В списке отображаются:
1. Имя файла в виде ссылки на него.
2. Уменьшенное изображение содержимого файла (для медиафайлов).
3. Информационная строка.
Имя файла всегда устанавливается при его загрузке и не может быть изменено. Оно строится по схеме:
логин_имя-загруженного-файла
При загрузке файла к его базовому имени автоматически спереди пристыковываются логин данного пользователя и символ _ (подчёркивание). Загруженные всеми пользователями файлы хранятся в едином хранилище и потому такое составное имя необходимо во избежание конфликта имён с файлами других пользователей и возможности предоставления пользователю только тех файлов, которые были загружены именно им. При необходимости сослаться на этот файл в публикации следует указывать именно то имя, которое отображается в списке загруженных файлов. Система сама достроит к нему правильный путь. Разумеется, полный относительный путь к такому файлу можно подсмотреть из html-кода страницы публикации. Но указывать такой путь не рекомендуется, поскольку администратор может периодически менять путь к хранилищу загруженных файлов.
Если Система не может определить тип медиафайла, то его изображение не выводится.
Информационная строка включает:
поле пометки файла;
права доступа к файлу на сервере;
размер файла в байтах;
дату и время создания (загрузки).
В заголовочной части списка загруженных файлов имеется ссылка Загрузить, переход по которой открывает интерфейс загрузки файлов. С его помощью можно выбрать загружаемый файл на своём компьютере и загрузить его в хранилище загруженных файлов. Имена загружаемых файлов могут включать только строчные и прописные латинские буквы, а также символы _ (подчёркивание) и - (минус). Регламентируются также и типы (расширения) файлов, которые могут быть загружены. Перечень допустимых расширений приводится в форме интерфейса загрузки. Он может быть изменён администратором сайта.
В нижней части формы списка загруженных файлов имеются кнопки Список и Удалить. При нажатии на кнопку Список выводится форма, в которой в поле многострочного ввода выводится список имён выбранных файлов. Эта возможность бывает полезной, например, при создании/пополнении альбомов медиафайлов при использовании расширения Альбомы.
Кнопка Удалить безоговорочно удаляет выбранные файлы без подтверждения.
Оцените публикацию по предложенной шкале