Вопрос или проблема
Хорошо, позвольте мне попробовать понять это лучше. Я разработчик JStrack, бесплатной системы отслеживания ураганов, написанной на Tcl/Tk с расширениями. Я написал скрипт (filt.tcl), который «читает» различные продукты NHC и извлекает соответствующие данные для JStrack. Продукты NHC поступали (и поступают) через электронный список WX-ATLAN и передавались в filt.tcl JStrack для обработки с помощью procmail.
Видите ли, JStrack изначально был создан для Unix-подобных систем (например, Linux, SunOS, Solaris, MacOS X и т. д.), где procmail (заменяющий /bin/mail в качестве агента доставки почты) мог использоваться для обработки входящей почты из списка WX-ATLAN. Это работало отлично, пока я не решил портировать JStrack на Windows, где нельзя просто вставить procmail между MTA и MUA для обработки входящей почты в фоновом режиме. M$ не предоставляет такой возможности.
Но NHC предоставлял доступ к тем же продуктам через анонимный (и незащищенный) ftp, что работало нормально. Затем через http, что также работало нормально. До тех пор, пока все не перешли на полное SSL для всего. С этого момента получение SSL/TLS соединений на Unix-подобных системах и на Windows стало источником множества мигреней. Пользователи Windows оказались в тупике, вынужденные вручную получать данные и отправлять их в filt.tcl вручную, нарушая всю идею о том, что JStrack автоматически получит свои данные 24/7 через входящую почту.
После множества головных болей и теперь, когда я могу делать всё, что хочу с jstrack.org, у меня есть новый план полностью обновить сайт. Вот первый крупный план (остальные будут в последующих сообщениях).
Так вот мой план, теперь, когда я являюсь владельцем домена сайта JStrack, jstrack.org: я хочу сделать следующее:
- Получать продукты NHC (файлы данных) через их RSS-ленту с сайта WordPress
- Использовать некоторую магию для преобразования данных RSS-ленты в исходный продукт NHC
- Переместить 3 конкретных типа файлов продукта в другую область для доступа через анонимный ftp
- Добавить код обновления в JStrack, который регулярно проверяет анонимные ftp данные jstrack.org и автоматически обновляется при необходимости (и проверяет при запуске JStrack)
- Пользователи Windows (и другие) смогут просто загружать данные с jstrack.org через ftp без проблем с SSL. Ведь в этой области сайта будут только данные продукта NHC и анонимный ftp, так что пароли и т. д. не нужны.
Но вот вопрос: как это сделать, используя только бесплатные плагины и код, который я не представляю, как создать (я все еще на уровне HTML 4.2 + CSS2)? Я знаю, как написать код Tcl для JStrack для выполнения проверки данных (просто посмотреть, есть ли какие-либо новые данные после последнего обновления, и если да, загрузить их и обновить данные о штормах для любых штормов, у которых есть новые данные). Это касается WordPress, в котором я совершенно не разбираюсь.
Надеюсь, это прояснило ситуацию без лишних сложностей. 🙂 Так может ли кто-нибудь либо показать мне, как это сделать, либо направить меня к правильной (начинающей) документации, чтобы я мог изучить её?
Спасибо,
–джим
-- Из моих дней в 16-м крыле специальной операции разведки: УЧЕНИЕ — это ситуация, в которой вы прекращаете то, что делаете, для того чтобы сымитировать то, что вы делали, чтобы показать кому-то другому, что вы можете так же хорошо сымитировать то, что вы делали, как вы это делали, прежде чем вас прервали.
.
Ответ или решение
Теория
Ваша задача заключается в том, чтобы автоматизировать процесс получения данных с помощью RSS-каналов и сохранять их в директорию для FTP на WordPress сайте, а после этого обеспечить их доступность через анонимный FTP для использования в вашем проекте JStrack. Для решения этой задачи понадобится интеграция между WordPress, RSS-каналами и системой FTP.
Пример
Рассмотрим пример пошагового решения задачи:
-
Получение данных из RSS-канала:
RSS (Really Simple Syndication) — это формат, предназначенный для распространения информации и может использоваться для привлечения данных из внешних источников, таких как Национальный центр ураганов (NHC). В большинстве случаев RSS-канал имеет формат XML, который можно анализировать и извлекать необходимую информацию.
-
Преобразование данных из RSS в необходимый формат:
Чтобы использовать полученные данные, их необходимо обработать и привести к необходимому виду. Это может быть реализовано с помощью программирования или специальных утилит. В случае WordPress существуют плагины, которые могут помочь в этом процессе, однако они могут требовать настройки и адаптации под ваши конкретные задачи.
-
Хранение файлов в директории для FTP:
После преобразования данные должны быть сохранены в заданной директории на сервере, чтобы они были доступны через FTP. Это может быть реализовано с использованием PHP-скриптов или через соответствующие модули WordPress.
-
Настройка анонимного FTP-сервера:
Для предоставления доступа к файлам по FTP необходимо настроить FTP-сервер. Важно, чтобы он поддерживал защиту данных, если это необходимо, и обеспечивал доступ без авторизации. Это может быть достигнуто с помощью современных FTP-серверов, таких как ProFTPD или аналогичных.
Применение
Определяем необходимые инструменты и плагины:
-
Плагин для работы с RSS:
Для WordPress существует множество бесплатных плагинов, которые позволят получить данные из RSS-канала. Одним из самых популярных и рассчитанных на работу с XML-данными является плагин
WP RSS Aggregator
. Этот плагин может быть использован для передачи данных из RSS-канала в WordPress. -
Обработчик данных:
Ваш скрипт
filt.tcl
можно адаптировать для запуска в условиях сервера PHP, что позволит вам получать данные, обрабатывать их и сохранять в нужной директории. Также стоит рассмотреть добавление PHP-скрипта для дополнительных функций обработки данных, если это необходимо. -
FTP-сервер:
Выбирайте FTP-сервер, который поддерживает анонимный доступ и может быть легко интегрирован с вашей системой управления. Настройка серверной части требует корректной конфигурации доступа и безопасного хранения файлов.
Шаги по интеграции в WordPress:
-
Установка плагина:
Установите и активируйте плагин для RSS-агрегации и обработки данных.
-
Конфигурация плагина:
Настройте плагин для извлечения данных из RSS-канала NHC. Укажите сроки пингования и автоматической проверки обновлений.
-
Постобработка и сохранение данных:
Настройте PHP-скрипты в WordPress для автоматической обработки данных, которые извлекаются из RSS-каналов, преобразования их в нужный формат и сохранения в директории для FTP.
-
Настройка доступа через FTP:
Проверьте настройки своего FTP-сервера для предоставления анонимного доступа пользователям, обеспечив безопасное и стабильное функционирование сервера.
Заключение
Среди технических вызовов, которые могут возникнуть, стоит уделить внимание интеграции различных технологий и поддержке безопасности на всех этапах обработки и представления данных. Использование бесплатных решений на начальном этапе позволяет вам сосредоточиться на тестировании и развитии функционала системы. Давать рекомендации по изучению документации по конкретным плагинам и инструментам также является важной частью вашего проекта, поэтому рекомендуется ознакомление с возможностями и настройками выбранных решений.