LINUX.ORG.RU

Подскажите CMSку моей мечты

 


12

9

Сразу скажу, не уверен, что такое вообще существует в природе, ибо требования у меня противоположны всему, что сейчас воспринимается как мейнстрим. В общем, нужна CMS для сайтов, которые заведомо _не_ относятся (и никогда не будут относиться) к категории «высоконагруженных». При этом имеются два совершенно категорических требования:

1) свободное распространение и использование без ограничений (в том числе без всяких обязательных ссылок и т.п.)

2) ничего тьюринг-полного на стороне клиента; JS, HTML5, CSS3 запрещены под страхом смертной казни, то есть если CMS генерит что-то из перечисленного, то она не рассматривается вообще, вот то есть даром не нужна; в идеале — генерит XHTML и использует мелкий CSS-файлик на десяток классов;

Кроме того, есть ещё несколько более мягких, но тоже существенных пожеланий:

3) Язык реализации. В идеале она вообще должна быть написана на C или C++ с использованием минимума (лучше — zero) внешних библиотек, но такого, скорее всего, не бывает. PHP я терпеть ещё готов, Perl с его системой библиотек и dependecny hell — уже с трудом, что касается Питона, Руби, Джавы и прочей экзотики — мне проще будет её самому написать. Или без сайта обойтись.

4) Хранилище. Идеальная с моей точки зрения CMS не использует никакие СУБД вообще от слова совсем, то есть даже SQLite. Для хранения всего и вся — обычные текстовые файлы в обычных директориях.

5) Кастомизация. Сменные темы, среди которых есть что-нибудь лёгкое и НЕ привязанное к конкретной ширине экрана.

При этом она должна обязательно поддерживать настраиваемую навигацию, блоки, появляющиеся на определённых страницах (на всех или на некоторых), а также пользовательские комментарии (крайне желательно, чтобы пользователи могли заходить со своими OpenID — да, я имел в виду именно OpenID, а не OAUTH).

Если кто видел что-то подобное, киньте ссылочку :-)

★★★
Ответ на: комментарий от Iron_Bug

Ах, да. Забыл. Если вы так сильно не любите js, берите голый CEF. И пишите на плюсах. Без js.

anonymous
()
Ответ на: комментарий от EXL

Я думаю вы правы. Почти.

Разбираться в старом варианте действительно удобнее, но вот шрифт - «прожить на этом можно, но на вкус дерьмо...». А новый вариант очень нравится моему коллеге, у него зрение чуть ослаблено и на нем глаза совсем не устают, говорит что помогают не только большие размеры и интервалы, но и шрифт...

anonymous
()
Ответ на: комментарий от anonymous

Что до утверждения о жручести современных браузеров - я бы с удовольствием посмотрел, как бы вы, собственноручно, выполнили ТЗ по написанию полноценного браузера, поддерживающего современные стандарты, в рамках жесткой ресурсной экономии. Да ладно, что там браузера - хотя бы layout-engine вокруг DOM-модели.

Не говорит ли это нам, что «современные стандарты» несколько нехороши?

ugoday ★★★★★
()
Ответ на: комментарий от Iron_Bug

Спасибо, нет. Проходили лет 10 назад, когда началась повальная мода на java-апплеты, там приходилось тыкать во всякие кнопки принять, скачать, запустить, вместо того чтобы просто зайти на сайт и пользоваться. Вариант с уведомлением тоже всех уже достал за последний год, что евросоюз собирается отменить требование уведомлять о куках.

вот тогда он станет похож на установку софта.

Не дай бог.

anonymous
()
Ответ на: комментарий от anonymous

вместо того чтобы просто зайти на сайт и пользоваться.

Ждём WebAsm, там всё будет из коробки.

EXL ★★★★★
()
Ответ на: комментарий от Iron_Bug

А вот тут вы правы, браузер это дыра в безопасности. Именно браузер, а не конкретно яваскрипт в песочнице. Переполнение буфера и выполнение произвольного кода может произойти (и происходило) и в обработчике картинок, и XML. Сомневаюсь, что вы отключаете картинки и HTML при просмотре веба. Что же касается ресурсов, define неадекватное количество. Если ваше железо простаивает, вы выбросили деньги зря.

anonymous
()
Ответ на: комментарий от anonymous

да в кои-то веки даже в firejail у меня сегодня жирнолис грохнулся. давно такого не наблюдала. грохнулся просто так, без видимых причин. причём даже никакого видео на ютубе не было запущено. только обычные текстовые страницы. и жабаскрипт отключен. там тараканов немеряно в коде и неизвестно, что их провоцирует.

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от anonymous

Если ваше железо простаивает, вы выбросили деньги зря.

Пожалуй, самое неадекватно утверждение в данном треде.

ugoday ★★★★★
()
Ответ на: комментарий от anonymous

Если ваше железо простаивает, вы выбросили деньги зря.

С учетом того, что ваши слова сказаны в контексте обсуждения возможного неэффективного использования ресурсов системы браузерами, создается не очень хорошое впечатление. Очень напоминает людей, которые говорят: «Зачем тратить время на оптимизацию? Все равно сейчас памяти в компьютерах много...».

anonymous
()
Ответ на: комментарий от anonymous

Но если у вас включен js - вы соглашаетесь переходя по ссылке.

Чушь. Согласие должно быть полностью информированным, в противном случае ссылаться на такое согласие и использовать его — это даже название имеет: мошенничество.

Подавляющее большинство пользователей не знает и не видит никакой принципиальной разницы между статическим HTML и «приложением», состоящим из JS. Следовательно, не может идти никакой речи о том, что получено согласие пользователя. Тем более таким способом (переход по ссылке, видите ли).

Нет, только массовые расстрелы. Иное цивилизацию уже не спасёт.

Croco ★★★
() автор топика
Ответ на: комментарий от anonymous

Да пожалуйста, не СУБД а просто БД. Чем поможет - тем, что там уже решены проблемы тех самых дедлоков и прочего.

СУБД не решает проблемы дедлоков, она их порождает. Пора бы это знать.

А ещё пора бы знать, что для минимального дедлока нужно два субъекта и два объекта, причём программы, по которым работают субъекты, должны быть написаны идиотами. Вот мой любимый вопрос на экзамене по операционкам: почему в задаче о пяти философах этих философов именно пять? Ответ знаете? Нет?

Никакой проблемы в этом нет, вы сами это выдумали.

Ваша позиция имеет название: воинствующее невежество. Спорить с воинствующими невеждами бесполезно, их надо просто отстреливать. Или как минимум игнорировать.

Croco ★★★
() автор топика
Ответ на: комментарий от Croco

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

Вас следует расстрелять.

anonymous
()
Ответ на: комментарий от Leupold_cat

при попытке добавить комментарий в закрытый для записи файл обрабатывается исключение

Это не нужно, при попытке добавить комментарий произойдёт обычная блокировка, пока другой процесс не слезет с лока. С точки зрения пользователя это будет выглядеть как пауза на несколько миллисекунд (то есть, по факту, вообще никак не будет выглядеть). Поскольку ресурс, за который идёт конкуренция (файл) тут всего один, ситуация тупика заведомо невозможна.

Croco ★★★
() автор топика
Ответ на: комментарий от anonymous

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

Дайте ссылочку plz. А то сколько ни ищу — все эксплойты на JS завязаны.

Croco ★★★
() автор топика
Ответ на: комментарий от anonymous

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

Когда любой пользователь запускает любую из написанных мной программ, пользователь при этом точно знает, что, во-первых, запускает программу; во-вторых, он знает, кто эту программу написал; в-третьих, он точно знает, зачем ему (вот лично ему) нужна эта программа, для каких (его) целей. Иначе он её не запустит.

Подавляющее большинство пользователей веба, повторюсь ещё раз, вообще не понимает, что страница с JS — это программа.

Croco ★★★
() автор топика
Ответ на: комментарий от Croco

Вы демагог. Или чрезмерно глупый человек.

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

anonymous
()
Ответ на: комментарий от Croco

И да. Разрешения вы все равно не спрашиваете. Расстрелять вас. Столяров - мошенник.

anonymous
()
Ответ на: комментарий от anonymous

Как же очевиден уровень вашей компетентности.

Чьей? Моей? да неужели, %%я? Первые две ссылки — на сообщения о потенциальных уязвимостях, про эксплойты ни слова. «Если будете себя плохо вести и не будете мыть руки перед едой^W^W^W^W вовремя обновляться, то, может быть, когда-нибудь придёт плохой дядя и вас сломает».

Третья — таки да, база данных эксплойтов. Круто. Осталось среди них найти хотя бы один, который не DoS, а реальный code execution (например, «вербует» клиентскую машину в ботнет) и при этом не завязан на наличие в браузере JS. Если вы таковой там уже нашли, дайте ссылку на него, а не на всю базу (её я, представляете, уже видел).

Croco ★★★
() автор топика
Ответ на: комментарий от anonymous

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

Лет двадцать назад ровно так и было, сейчас уже нет — народ начал понимать, по крайней мере, что запускать что попало не следует, а то страшные вирусы придут и кровушку высосут. Как ни странно, иногда люди вынужденно повышают общий (среднебольничный) уровень собственной грамотности. Например, мало кто знает, как устроено в автомобиле сцепление, но все (ну, кто водят автомобиль с механической коробкой) знают, что отпускать его следует плавно. Что такое программа, человек может и не знать, но вот что запускать их, взяв откуда попало, всё-таки нельзя — это уже публике объяснили.

И вообще, залогинься, тогда поговорим. Объявляю мораторий на ответы анонимам.

Croco ★★★
() автор топика
Ответ на: комментарий от Iron_Bug

у меня на старом ноуте было 2 гига памяти. и кроме браузера мне нужно было программировать и много чего ещё. а лет 15 назад у меня на компе было 256 метров памяти и браузер работал нормально!

А 40000 лет назад ты бы жила в пещере, одевалась в шкуры и жрала сырое мясо. Что дальше?

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

anonymous
()
Ответ на: комментарий от anonymous

Если есть свободные мощности - их следует использовать.

Вот именно, использовать, получать от них пользу. А не забивать всякой ерундой, как сейчас повсеместно принято.

anonymous
()
Ответ на: комментарий от sand_circle

почему помер гофер?

ну нефиг было ту тему от анонимусов огораживать.

а помер он по забавной причине: было 2.5 версии протокола: Gopher, Gopher 1.5, Gopher+ и даже GopherVR на базе Gopher+.

под GopherVR было парочку OpenGL клиентов: для мака и под юниксы. там всё как в фильмах про хакеров: 3D интерфейс, VRML фигуры с понтом базы данных и джонни мнемоник, ручками ковыряющийся в мозгах искина базах данных.

так вот, версия Gopher+ была довольно продвинута: можно было делать формы и ASK-запросы. это уже напоминает HTTP формы с POST методом. ещё там были множественные view на ресурсы, например один и тот же (с тем же самым именем) ресурс как HTML, как TXT, как PDF, как VRML и прочее. ну или рус/англ/яп субтитры на ресурс «субтитры».

но толком никто Gopher+ / GopherVR не пользовался, ибо суслики решили сделать протокол платным, и начать лицензировать его веб-мастерам платно. как-то народ это не вдохновило, и даже когда через лет 3-5 одумались и разрешили всем и без-возд-мезд-но, но народ толпами не бежал, в виртуальную реальность-то.

а Gopher 1.5 содержал забавную одну дырку, не вполне протокола, скорее клиентов. там можно было получать бесконечные файлы. тчтобы конец файла определялся как «сколько в канал влезет».

понятное дело, что и другой режим работы там был, с заданной длиной.

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

поэтому мелкомяхкие взяли, и тупо вырезали поддержку гофера. тогда не переполняется же!!!111

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

вот уроды!

потом случился файрфокс вместо мозилы и симанки, и всем стало пофиг на какой-то гофер: и так мейлер и ньюсы, ирку и чятики выкинули же.

потом университет минессоты ещё как-то собирался платное лицензирование гофер-сайтов вводить, потом каялся, отменял и открывал исподники всем и безвоздмездно.

но было уже поздно: подкосили два момента:

1. суслики (университет минессоты) изначально пытались заработать на этом бабло, и лицензировать за денюжку. народ ушёл в WWW и фидонеты.

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

а гофернет и сейчас вполне себе живой. в файрфокс ставится плагин и лазается спокойно себе.

скачать безплатно без SMS себе все гофернеты

anonymous
()
Ответ на: комментарий от Croco

Есть таких у меня!

Столяров! Осиль уже под «CMS-ку твоей мечты» самую распространённую лисп-машину — Emacs.

конкретно режимы: org-mode M-x org-publish-project или более старый MUSE

про MUSE были статьи по настройке от Алекса Отта. Про org-mode надо ковырять доки и примеры, но вроде бы есть тот же бложик на ikiwiki например и т.п., включая вёрстку в PDF через tex, в ODF через XML( и в мсворд через опенофис в режиме командной сроки) и tangle/weave reproducible research примеры.

Объявляю мораторий на ответы анонимам.

ну ты сам себе злобный буратино, крокодил.

anonymous
()
Ответ на: почему помер гофер? от anonymous

вообще, я так думаю, «CMS-ка моей мечты» могла бы быть вполне написана на Gopher+, Emacs org-mode или GNU Skribilo/Guile / Skribe под CL, + Reproducible Research среду типа той же org-mode интерактивных сессий с C-c C-c выполнением очередного «блока кода» над «блоком данных», плюс Literate Programming среду на основе org-mode babel weave/tangle.

Начать разумеется с лиспа (хотя бы емаксового, того что есть в org-mode). и дополнить тем же REBOL-ом (тоже вполне в лисповом духе).

затем написать FUSE-модуль, который бы реализовал похожие на Plan9 логические «множественные пространства имён» микросервисы.

то есть: gopherfs изображает из себя REST-like API на Gopher+ ASK запросах

и редактируется всё из емакса в org-mode подобной LitProg/ReproResearch среде.

например, есть GNOWSYS под Emacs — только там ООБД под Zope под питон, а хочется на елиспе, коммон лиспе, гуйле схеме или сразу, на реболе.

и ресурсы хранить не глубоко в Zope а Gopher+ ASK-запросами изменять те самые ресурсы со множественными views.

и fuse-модулем на обычную недофс отображать.

потом через inotify события прикрутить по записи файла/обновлению, типа как в Plan9 файл ресурса и командный файл, парами. и поверх этого изобразить логический протокол, запросы, онтологии как в GNOWSYS-mode.

думаю, замечательная бы CMS-ка получилась. которая именно что умеет работать с контентом — генерировать новый полуавтоматизированно, синтезировать из метамодели в модель.

а не тупо тыкать тыкалкой, смотреть смотрелкою в браузере.

anonymous
()
Ответ на: комментарий от Croco

или возьми в руки свой InterLisp и сам напиши, делов-то. вот org-mode написали же как-то, а там всего лишь какой-то елисп.

CMS-ка твоей мечты сама себя не напишет же. :-)

не, ну реально посмотри Emacs-mode: org-mode, muse, GNOWSYS-mode.

anonymous
()
Ответ на: комментарий от Croco

ikiwiki

ikiwiki ещё посмотри, на перле. примеры бложиков и тем оформления гуглить.

anonymous
()
Ответ на: комментарий от Iron_Bug

есть подозрение что DOM — это такой визитор поневоле, сериализованный из одиночной диспетчеризации. и если бы был какой-нибудь лисп с CLOS, мультиметодами и родовыми функциями, то вообще DOM не понадобился бы, а понадобился бы какой-то аналог метаобъектного протокола, только для документов-компонентов-модулей стуктурированного контента.

или какие-то запросы логические по онтологиям типа как в GNOWSYS.

так что не очень-то этот DOM имхо и нужен.

anonymous
()
Ответ на: комментарий от Iron_Bug

вообще с современными браузерами всё плохо, имхо. развитие гипертекста пошло не туда.

ещё Теодор Холм Нельсон, афтор самого термина «гипертекст» в программной статье «Embedded Markup Considered Harmful» предлагал другой путь.

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

которые могут быть: текст, метатекст, паратекст, гипертекст, кибертекст (синтезированный программой).

это более похоже на Literate Programming, только многодорожечный.

на этом строился гипертекст изначальный — на изначально многомерной структуре (гипертекст как zzCells, ZigZag multidimensional database).

осталось только прикрутить к этим zzCells zzConsCells лиспа, ребол-выражения ребола или R-выражения рефала.

и вот он — более правильный, гипертекстовый фидонет веб (в смысле WEB Дональда Кнута) изначальный.

интерпретировать долго в памяти парсером или несколькими не надо — надо сразу строить многомерные структуры, упрощающие интерпретацию.

и миксовать дорожки диджейские кибертекста (WEB weave/tangle, компилятор/интерпретатор/отладчик..суперкомпилятор и т.п.)

anonymous
()
Ответ на: комментарий от anonymous

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

Ты вообще не понимаешь сути DOM, если несешь такую ахинею. При чем тут sax вообще. SAX это о парсинге и обработке. А DOM это ЖИВАЯ модель документа. Она не статична, она меняется. Помимо DOM модели, есть еще CSSOM модель, которая биндится к DOM, и все это выстраивает дерево отрисовки. И перестраивается каждый кусочек, при различной динамике на странице.

SAX, лол.

anonymous
()
Ответ на: комментарий от anonymous

дада, прямо как «живая вода» или «живое пиво». бывают, оказывается, «живые» модели. а по-моему, это просто свалка данных. и для отрисовки куска портянки этот живчик тащит всю портянку, даже если юзер просматривает кусок в две строчки. отсюда и все тормоза и пожирание памяти.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

Ойвей. Ты крайне некомпетентна. Говорить с тобой больше не о чем.

anonymous
()
Ответ на: комментарий от Croco

Подавляющее большинство пользователей веба, повторюсь ещё раз, вообще не понимает, что страница с JS — это программа.

Зато они знают, что браузер - это программа. И принимают все возможные риски при запуске браузера. Не страницы. Браузера.

anonymous
()
Ответ на: комментарий от anonymous

А не забивать всякой ерундой, как сейчас повсеместно принято.

Ерунда или нет - решает в итоге конечный пользователь. И этот конечный пользователь не считает человеческий дизайн, удобный уи и прочие «свистоперделками» ерундой, и готов за них платить вполне конкретные деньги.

anonymous
()

Андрей Викторович, вот Вы много пишите о выполнении произвольного js-кода в браузере без спроса и т.д. и т.п.

А что тогда говорить о Intel Management Engine, там ведь есть Active Management Technology ? Ведь по сути с их помощью можно сделать гораздо больше «плохих вещей», чем со столь ненавистным Вам Javascript.

Twissel ★★★★★
()
Ответ на: комментарий от Twissel

А что тогда говорить о Intel Management Engine

А я разве когда-то говорил, что всё мировое зло исчерпывается одним только жабаскриптом? Если бы это было так, настал бы рай :-)

Croco ★★★
() автор топика
Ответ на: комментарий от anonymous

Ерунда или нет - решает в итоге конечный пользователь.

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

anonymous
()
Ответ на: комментарий от Twissel

Не знаю, как Андрей Викторович, а у меня депрессия, с тех пор как почитал про Intel ME и AMD PSP. Хочется закупить партию стареньких процессоров, пока они ещё в широкой продаже, и залезть в криокамеру.

anonymous
()
Ответ на: комментарий от Croco

Если бы это было так, настал бы рай :-)

Был мыслями про Intel ME и AMD PSP, прочитал как «насрали в рай», простите. :(

anonymous
()
Ответ на: комментарий от poshat

monstra

Сайт лежит

getsimple

Пронизана JS'ом насквозь, там в архиве файлы с суффиксом .js составляют едва ли не большинство

Grav CMS

Судя по их сайту (не тому, который русский, а оригинальному), от этого тоже не следует ждать отстригаемости JS.

По поводу JS ничего не скажу

Вы, видимо, плохо читали исходный пост. Меня как раз отсутствие JS прочего тьюринг-полного дерьма в генерируемом HTML'е интересует в первую очередь, а отсутствие SQL — это уже так, в дополнение. В крайнем случае я и MySQL в сто пятьдесят восьмой раз поставлю, хотя и лень. А вот тэгов script на развёртываемых мною сайтах не будет никогда — лучше я вообще сайт поднимать не буду, нежели позволю там появиться скриптам, предполагающим исполнение в браузере.

Croco ★★★
() автор топика
Ответ на: комментарий от anonymous

Ага-ага. «Любой клиент может получить автомобиль выкрашенный в тот цвет, в который он хочет — до тех пор пока этот цвет — чёрный»(c)

anonymous
()
Ответ на: комментарий от anonymous

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.