Форум на основе файлов в общей папке.

Любые обсуждения, не нарушающие правил форума.

Модератор: Модераторы

Re: Форум на основе файлов в общей папке.

Сообщение OberonAR » 19.01.2016 10:46:23

azsx
azsx писал(а):тут тз сложно понять, а еще и проекты подобные.


На самом деле тз простое. Необходимо поднять форум. В качестве протокола обмена использовать не TCP/Ip, а SAMBA (или как он там называется). maillist, текстовые файлики и др. - это конечно можно, но неудобно. На клиентской стороне хочется видеть именно что-то типа форума. Может (html в браузере, или программу с интерфейсом похожим).
По поводу вертолетов :D : их не будет. В головном админы не запретят такого, да и политика компании не запрещает, ничего противозаконного в этом нет, однако и помогать в этом не будут. Так что отстаеться использовать то что есть - а это общая папка. Это единственное что доступно отовсюду без проблем.

По нагрузке на каналы: выдержат. Да и посылать предполагается только текст. Ну может при первоначальном запуске аватары всякие закешировать на клиенте. Да и безопасность собственно не интересует. Она УЖЕ обеспечена на необходимом уровне. Ни от кого ничего прятать не предполагается. Почему форум? Просто удобное представление. Да и сохранение переписке для истори так сказать.
Форум видется как удобное и привычное средство для общения.

В общем дело не в политике. Интересует техническая часть. Для саморазвития хотя бы. Но если это получиться нормально сделать - то будет пользоваться БОЛЬШОЙ популярностью.

Может есть еще идеи? Например с помощью чего набросать в программе "форумо-подобный" интерфейс. Или может генерировать html для браузера.., но будет ли это проще?
Аватара пользователя
OberonAR
новенький
 
Сообщения: 73
Зарегистрирован: 08.02.2012 11:46:04
Откуда: Краснодарский край

Re: Форум на основе файлов в общей папке.

Сообщение ViTality » 19.01.2016 11:36:24

вариант 1
програмка_аля_мессенджер+firebird_библиотека+firebird_база лежат на сетевой шаре. Каждый запускает эту прогу с шары(шару можно примонтировать как диск).

вариант 2
Но если хотите аля форум в браузере. посмотрите в сторону морфика morfik.com
там создается самодостаточный сайт на той же базе фаерберд. получается запускаете с шары и заходите к себе в браузере IP:8080

в общем идея в том чтоб все дружно работали с одной бд. только надо транзакции разрулить...


кажется я бред написал.
Если выше предложенное не реально то Пусть тогда так:
В каждом отделе запускается сервер написанный на морфике. и все в отделе идут к нему на IP:8080. но базу положить на сетевую шару.
У каждого отдела своя база на шаре. Писать только в свою БД, из других только читать.
ViTality
постоялец
 
Сообщения: 308
Зарегистрирован: 05.10.2007 15:12:02

Re: Форум на основе файлов в общей папке.

Сообщение OberonAR » 19.01.2016 12:05:41

ViTality писал(а):вариант 2
Но если хотите аля форум в браузере. посмотрите в сторону морфика morfik.com


Спасибо большое за ссылку! Интересная штука. Буду изучать.
Но в контексте моей задачи... Не хочу много времени потратить на изучение нового инструмента. Хотелось бы, если понадобиться что-то писать, использовать freepascal и lazarus.
А так да, склоняюсь к варианту 1.
Аватара пользователя
OberonAR
новенький
 
Сообщения: 73
Зарегистрирован: 08.02.2012 11:46:04
Откуда: Краснодарский край

Re: Форум на основе файлов в общей папке.

Сообщение ViTality » 19.01.2016 12:18:29

у меня всплыли в памяти всякого рода файловые Вики
посмотрите например
http://www.dokuwiki.ru/
https://moinmo.in/

Добавлено спустя 1 минуту 41 секунду:
OberonAR писал(а):Но в контексте моей задачи... Не хочу много времени потратить на изучение нового инструмента. Хотелось бы, если понадобиться что-то писать, использовать freepascal и lazarus.

дык морфик построен на фрипаскале с минимальными изменениями
ViTality
постоялец
 
Сообщения: 308
Зарегистрирован: 05.10.2007 15:12:02

Re: Форум на основе файлов в общей папке.

Сообщение sts » 19.01.2016 13:15:12

всетаки надо выбрать - через вебморду доступ к форуму или обычное приложение, в первом надо будет изучать технологии - шаблонизаторы HTML и JS
имхо - обмениваться данными между отделами, через папку, должны сервера, иначе нагрузка будет высокая, достаточно сотни одновременных созданий файлов, так то, для форума, все равно но наверняка папка расшарена на сервере который еще чтото делает, вот это будет еле шевелиться.
sts
постоялец
 
Сообщения: 431
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: Форум на основе файлов в общей папке.

Сообщение OberonAR » 19.01.2016 13:56:47

sts
Полностью согласен. Изучаю пока эти вопросы чтобы решить в какую сторону идти.
Аватара пользователя
OberonAR
новенький
 
Сообщения: 73
Зарегистрирован: 08.02.2012 11:46:04
Откуда: Краснодарский край

Re: Форум на основе файлов в общей папке.

Сообщение azsx » 19.01.2016 13:59:00

+ форму накидать. За вечер можно прототип выкатить.
Другой вопрос, вот будет тыща сообщений, их надо считать, отправить. Тогда уж логичнее в 1 файл писать или dbf подключить и писать тему в него.
Код: Выделить всё
procedure scanFileTree(strNode: string);
var SR: TSearchRec;
    str:string;
begin
    str:= SysToUTF8(strNode);
    if FindFirst(str+'\*', faAnyFile, SR) = 0 then
     repeat
          str:= SysToUTF8(SR.Name);
          if not ((str = '.')or(str = '..')or(str = '...'))then
          begin
               if (sr.Attr = faDirectory) then
               begin
                    {Тут обрабатывается для папок}
               end else
               begin
                    {Тут обрабатывается для файлов}
               end;
          end;
     until FindNext(SR) <> 0;
    FindClose(SR);
end;
azsx
энтузиаст
 
Сообщения: 959
Зарегистрирован: 16.11.2015 06:38:32

Re: Форум на основе файлов в общей папке.

Сообщение OberonAR » 19.01.2016 15:22:09

azsx

Будет серверная часть. Вот она и решит какую страницу со скольки сообщениями отдать. Собственно как и любой другой движок форума. Вся разница в том что отдаст страницу не по TCP а сохранит в файл в нужной папке. Клиентего заберет, потом файл удалится. Вся база форума будет на стороне с серверной частью. Тот же sqlite например.

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

Пока над серьезным шифрованием не думал. Понадобиться позже. Но на будущее где почитать про шифрование... видимо открытымизакрытыми ключами? Применительно к freepascal/lazarus.

Добавлено спустя 1 минуту 56 секунд:
azsx писал(а):+ форму накидать. За вечер можно прототип выкатить.
Другой вопрос, вот будет тыща сообщений, их надо считать, отправить. Тогда уж логичнее в 1 файл писать или dbf подключить и писать тему в него.
Код: Выделить всё
procedure scanFileTree(strNode: string);
var SR: TSearchRec;
    str:string;
begin
    str:= SysToUTF8(strNode);
    if FindFirst(str+'\*', faAnyFile, SR) = 0 then
     repeat
          str:= SysToUTF8(SR.Name);
          if not ((str = '.')or(str = '..')or(str = '...'))then
          begin
               if (sr.Attr = faDirectory) then
               begin
                    {Тут обрабатывается для папок}
               end else
               begin
                    {Тут обрабатывается для файлов}
               end;
          end;
     until FindNext(SR) <> 0;
    FindClose(SR);
end;


Идея не много в другом. Не хранить всю базу в файлах, а организовать обмен информации посредством временных файлов в общей папке (между сервером с форумом и клиентами).
Аватара пользователя
OberonAR
новенький
 
Сообщения: 73
Зарегистрирован: 08.02.2012 11:46:04
Откуда: Краснодарский край

Re: Форум на основе файлов в общей папке.

Сообщение azsx » 19.01.2016 16:21:51

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

только в вашем случае будет постоянный пинг и парсинг этого временного каталога на сервере от клиентов. Допустим, клиентов тыща и обновление тем раз в 5 секунд.
В то же время моим методом каждый клиент будет парсить только тот каталог, который ему нужен. + кэш на клиенте + маркеры о новых сообщениях + zip сжатие + сообщение пишем в один файл - так нагрузку можно ваще сильно снизить. Но зато в моем методе проще испортить данные (если у всех доступ на изменение) и мой способ не рабочий (если изменения нет).
Опять же я не осиливаю почему все предлагают цмс ставить на клиентах. Как это сделать - хз может их способом будет лучше.
И при любых раскладах конкретная реализация будет работать, а я пока просто теоризирую.
azsx
энтузиаст
 
Сообщения: 959
Зарегистрирован: 16.11.2015 06:38:32

Re: Форум на основе файлов в общей папке.

Сообщение pupsik » 19.01.2016 16:35:52

Принцип думаю пока такой сделать:
"Серверная часть" слушает общую папку и реагирует на появившийся файл.
Клиентская часть записывает файл в общую папку с зашифрованной в нем командой (например получить список веток форума и др) и ждет появление определенного файла.

И зачем тут сервер?
Научите клиента правильно сохранять файлы. И заставьте его узнавать о новых сообщениях.

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

А вот идея: сервер проверяет обновления и формирует временный файл... Что то не вяжется. Какой смысл в формировании временного файла? Или каким образом сервер будет знать куда "пихать" ответ и в какую ветку (если их много) или ....? И двойную он работу с папкой будет делать. Хм...: сервер проверяет обновилась ли папка, клиенты :)

п.с.
Сумбурно малость... По существу у вас должна получиться база только в виде файлов. В любой базе есть шапка (что и у вас должно быть). В любой базе должна быть структура. Единственный нюанс - запись в файлы (необходимо будет решить процесс словоблудия пользователЕЙ ).
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: Форум на основе файлов в общей папке.

Сообщение Kemet » 19.01.2016 17:27:57

OberonAR,
тогда тебе в любом случае нужен полноценный форумный движок.
Поэтому тут я вижу несколько путей:
1) самый правильный, написать кляузу в головной офис, с обоснованием необходимости внутрикорпоративной CMS.
2) дурной, взять готоый форумный движок, скажем, на php и переписать выдачу страниц, чтобы результат записывался в папку пользователя на шаре + продумать взаимодействие посредством обмена служебной информацией через файлы в общей папке, чтобы движок знал что отдать клиентам и мог забирать в базу отправленные ими сообщения. Фронтенд можно написать и на лазарусе. Здесь нужен какой-то идентификатор сессии, чтобы минимизировать нагрузку на сеть, иначе сетка ляжет и топ-админы, увидев, наконец-то, сотворенное тобой чудо, отправят таки к тебе машину, причём не черную, а самую обычную, с мигалками и надписью 03.
3) ещё дурнее, открыть велосипедную фабрику написать полноценный форумный движок на паскале.
Kemet
постоялец
 
Сообщения: 241
Зарегистрирован: 10.02.2010 19:28:32
Откуда: Временно оккупированная территория

Re: Форум на основе файлов в общей папке.

Сообщение azsx » 19.01.2016 17:32:36

с одним файлом у вас сбои будут, при большом потоке с блокировкой. Конечно, можно отверять успех записи, тем не менее сбой вполне возможен.
Моим способом зато придется перечитывать кучу тем если их в ветках, подветках будет реально куча.
Но у тс свой метод.
azsx
энтузиаст
 
Сообщения: 959
Зарегистрирован: 16.11.2015 06:38:32

Re: Форум на основе файлов в общей папке.

Сообщение OberonAR » 19.01.2016 18:57:58

azsx писал(а):
Не хранить всю базу в файлах, а организовать обмен информации посредством временных файлов в общей папке (между сервером с форумом и клиентами).

только в вашем случае будет постоянный пинг и парсинг этого временного каталога на сервере от клиентов. Допустим, клиентов тыща и обновление тем раз в 5 секунд.
В то же время моим методом каждый клиент будет парсить только тот каталог, который ему нужен. + кэш на клиенте + маркеры о новых сообщениях + zip сжатие + сообщение пишем в один файл - так нагрузку можно ваще сильно снизить. Но зато в моем методе проще испортить данные (если у всех доступ на изменение) и мой способ не рабочий (если изменения нет).
Опять же я не осиливаю почему все предлагают цмс ставить на клиентах. Как это сделать - хз может их способом будет лучше.
И при любых раскладах конкретная реализация будет работать, а я пока просто теоризирую.

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

Добавлено спустя 2 минуты 12 секунд:
pupsik писал(а):
Принцип думаю пока такой сделать:
"Серверная часть" слушает общую папку и реагирует на появившийся файл.
Клиентская часть записывает файл в общую папку с зашифрованной в нем командой (например получить список веток форума и др) и ждет появление определенного файла.

И зачем тут сервер?
Научите клиента правильно сохранять файлы. И заставьте его узнавать о новых сообщениях.

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

А вот идея: сервер проверяет обновления и формирует временный файл... Что то не вяжется. Какой смысл в формировании временного файла? Или каким образом сервер будет знать куда "пихать" ответ и в какую ветку (если их много) или ....? И двойную он работу с папкой будет делать. Хм...: сервер проверяет обновилась ли папка, клиенты :)

п.с.
Сумбурно малость... По существу у вас должна получиться база только в виде файлов. В любой базе есть шапка (что и у вас должно быть). В любой базе должна быть структура. Единственный нюанс - запись в файлы (необходимо будет решить процесс словоблудия пользователЕЙ ).

Такж хорошие идеи. Спасибо!

Добавлено спустя 4 минуты 32 секунды:
Kemet писал(а):OberonAR,
тогда тебе в любом случае нужен полноценный форумный движок.
Поэтому тут я вижу несколько путей:
1) самый правильный, написать кляузу в головной офис, с обоснованием необходимости внутрикорпоративной CMS.
2) дурной, взять готоый форумный движок, скажем, на php и переписать выдачу страниц, чтобы результат записывался в папку пользователя на шаре + продумать взаимодействие посредством обмена служебной информацией через файлы в общей папке, чтобы движок знал что отдать клиентам и мог забирать в базу отправленные ими сообщения. Фронтенд можно написать и на лазарусе. Здесь нужен какой-то идентификатор сессии, чтобы минимизировать нагрузку на сеть, иначе сетка ляжет и топ-админы, увидев, наконец-то, сотворенное тобой чудо, отправят таки к тебе машину, причём не черную, а самую обычную, с мигалками и надписью 03.
3) ещё дурнее, открыть велосипедную фабрику написать полноценный форумный движок на паскале.


Как раз вариант № 2 как раз и хотелось бы. Но боюсь в приемлемые сроки не справлюсь. Раньше надоест. Да и просто будет некогда. Я на работе еще и работу работаю. :D
По поводу 1-го. Пока не вариант. Поверьте на слово. Некому этим заниматься. Поэтому озадачился.
По 3-му: я уже писал. Проблема в связи. Поднятие сервера на моей стороне ничего не даст. Порты закрыты.
Аватара пользователя
OberonAR
новенький
 
Сообщения: 73
Зарегистрирован: 08.02.2012 11:46:04
Откуда: Краснодарский край

Re: Форум на основе файлов в общей папке.

Сообщение DYUMON » 19.01.2016 21:17:45

Я конечно извиняюсь. Вы случайно не из сбербанка?
Аватара пользователя
DYUMON
постоялец
 
Сообщения: 234
Зарегистрирован: 11.03.2009 13:32:54

Re: Форум на основе файлов в общей папке.

Сообщение OberonAR » 20.01.2016 16:47:12

Нет. Не из сбербанка :D :D :D .
Аватара пользователя
OberonAR
новенький
 
Сообщения: 73
Зарегистрирован: 08.02.2012 11:46:04
Откуда: Краснодарский край

Пред.След.

Вернуться в Потрепаться

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19

Рейтинг@Mail.ru
cron