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

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

ещё вот пример на реболе: бложик самого Карла Сассенрата, автора ребола. а это его исходник.

довольно простой. но можно и markdown навернуть или тот же MakeDoc-Pro-подобный генератор.

ещё есть draem

по поводу производительности: это всё нужно, конечно, замерять.

но есть и резервы.

во-первых, поставить sticky bit на бинарник, чтобы не выгружался. во-вторых, есть примеры сопряжения ребола с Си: как из ребола дёргать *.so : стандартным образом либо (например), либо встроить ребол3 в си (например, например)

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

ещё есть веб-сервера на реболе: Cheyenne и Serv-It

через си-подобный интерфейс, подозреваю, можно написать mod_rebol к апачу не хуже какого-нибудь mod_php :-))

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

А вот, раз уж ты фанат ребола, расскажи про зоопарк. rebol2, rebol3, red — чем вот это вот всё отличается?

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

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

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

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

ltgfy:

3 поколения ребол-подобных языков.

  • REBOL2 — legacy, но всё ещё годный. сейчас не поддерживается, не развивается несмотря на.

    Появился в 1997 году как проект Карла Сассенрата, автора ядра AmigaOS под названием Exec интерпретатора метязыка «messaging language» на основе ряда идей таких языков как LOGO, Lisp, SmallTalk.

    REBOL расшифровывается как Relative Expression Basic Object Language, то есть: метаязык диалектов DSL на базе блоков, которыми разговаривают объекты.

    Основная идея — в языке всего 3 типа элементов:

    1. значения (типов МНОГО, 40 с лишним) — файлы, URL, email-адреса, tuple, pair, date, money, и т.п. и т.д.

    2. слова, то есть, символы лиспа.

    3. блоки, то есть блоки смоллтока, лого, или формы лиспа.

    макросов нет, есть что-то типа fexpr-ов, но не совсем (Though it foregoes the idea of environments or «scopes» completely, someone named this «definitional scoping».). интерпретация блоков зависит от функции. можно через USE передавать между окружениями-блоками отдельные символы.

    блоки организованы в «диалекты»

    сам язык — это средства построения и интерпретации диалектов. например, parse (или тут)

    язык простой, но мощный.

    реализация REBOL2 была коммерческой (одновременно вышла под 40 платформ). язык продвигался как «платформа для исполняемого интернета» — X/Internet, REBOL/IOS aka InterNet Operating System (см. интервью, презентации REBOL/IOS,AltME)

    состоял коммерческий REBOL/SDK из Rebol/Command в трёх видах (/Base, /Pro, /Face aka REBOL/View)

    потом вышел бесплатный free as a beer REBOL/Core (без GUI) и REBOL/View (с GUI)

    есть простой отключаемый sandbox (запрещается запись файлов и выполнение, вне указанного каталога, либо выскакивает MessageBox)

    REBOL2 всё ещё работает, и работает неплохо. например, есть хранилище скриптов

    но в целом это легаси и далее не развивается. текущая ветка REBOL3

anonymous
()
Ответ на: комментарий от anonymous
  • REBOL3 — текущая ветка. вышел 12-12-2012, исходники на гитхабе.

    отличия от REBOL2:

    • немного другая семантика объектов.
    • нормальная поддержка модульности.
    • интерпретатор как библиотека, встраиваемый. например, встраивают в приложение на Qt: (см. в конце про Ren Garden)

    хотя ещё в REBOL2 была стандартная фича: дёргать С функции из DLL-ки, .so-шки.

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

    см. пример в биндингах: помимо «обычных» примеров в gtk, есть и необычные:

    через libtcc (тут и тут,

    также см. соответствующие куски tools: через libtcc, через clang .

    ...
    compile argc addr-of argv
    
    write OUTPUT rejoin [ {REBOL [
    	Date: } to string! now/date {
    	Note: "Generated by c2r3.reb, DO NOT EDIT"
    ]
    ...
    

    то есть: биндинги генерирует компилятор плагином.

    пример про libtcc и cpuid показывает, как можно скодогенерировать из ребола в сишку, которую тут же откомпилировать и исполнить.

    подобным образом можно раскрутить в полноценный компилятор. то есть, ребол-подобная среда расширяема довольно простым образом (для наглядности и понятности это можно переписать в MakeDoc3-WeTan literate programming виде).

    такую LitProg-прогу ещё проще поддерживать и перевести на какой-нибудь другой язык: просто каждый boilerplate «блок кода» переписываем с ребола на этот язык.

anonymous
()
Ответ на: комментарий от anonymous
  • язык RED (поверх диалекта RED/System)

    язык от автора веб-сервера Cheyenne (на реболе). сейчас развивается китайским стартапом.

    раскручен из REBOL2 поверх диалекта RED/System — системного аналога Си, минималистичного ребола ограниченного системно зависимыми примитивами. поверх него (полноценный RED) предполагается со временем накрутить всю башню типов и функции полноценного REBOLx.

    то есть: если REBOL2 недостаточно модульный, REBOL3 — модульный и написан на Си, RED написан на себе самом. весь целиком, включая линкер. нативная кодогенерация под Linux(x86,x86-64,ARM), MacOSX, Win.

    см. roadmap — в планах когда-нибудь переписать компилятор с REBOL2 на самораскрученный RED и получить компилятор на себе самом.

    язык довольно интересный: см. привязки (например, OpenGL треугольник, который ловсанчег рисовал джва года в своём DOORS :-))) ), reactive programming пример с livecode (например, ёксель в 17 строчек кода )

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

    хотя как недостаток: велосипедят свой линкер, например. линкер тоже минималистичный, его полезно поизучать из-за минимализма, обчитавшись книжки «linkers and loaders». хотя для кроссплатформы это возможно и недостаток (REBOL3 написан на C89 и компилируется чем угодно где угодно, хоть на той же Амиге — вот нормально написанные кроссплатформные си исходники под 50 с лишним платформ)

    но это не полноценный REBOL3, и даже не легаси REBOL2 по количеству 10500 функций и 40+ типов данных.

    это и хорошо, и плохо. например, можно писать минималистичную фигню, используя RED/System вместо сишки, там где иначе использовась бы сишка.

anonymous
()
Ответ на: CMS-ка на ассемблере от anonymous

да, это тоже набрела на него в инете. на FASM много занятных штук написано. а эта CMS поддерживает FastCGI и это большой плюс, потому что я могу её легко прикрутить к ассемблерному HTTP серверу.

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

Спасибо. Читаю по ссылкам, интересно.

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

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

MIniMagAsm FastCGI не поддерживает. Но вполне можно запустить на RWASA (если вы о нем говорите как HTTP сервера). Вот например: https://fresh.flatassembler.net работает именно так.

А АsmBB это форум. Там все посты равноправные. Правда, переделать не так уж и трудно, но все таки не проект выходного дня.

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

CGI тоже можно использовать, через программу fcgiwrap. Конечно, напрямую FastCGI лучше, но и там есть подводные камни. Например RWASA сам не может запускать и управлять FastCGI процессов. Надо использовать внешних инструментов, как spawn-fcgi.

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

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

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

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

так это что получается, systemd - правильное решение, заменяющее интерпретацию shell-скриптов на юниты?

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

нет. ты, недотролль, вырвал фразу из контекста и притягиваешь за уши совершенно другую область безопасности.

anonymous
()
6 июля 2017 г.
Ответ на: комментарий от ravdinve

Кстати, во вконтакте собирались музыку сделать платной. Что-то изменилось или заявления пока остались заявлениями?

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

правильно. загнали овец в загон. теперь пора стричь. все эти «бесплатные» социалочки ничем другим не кончаются.

Iron_Bug ★★★★★
()
Ответ на: Не в тему от Deleted

Уже скоро, смотри сайт ТСа.

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

В начале года никто не смог ответить на этот вопрос....

bookman900 ★★★★★
()
16 августа 2018 г.
Ответ на: комментарий от Shaman007

Шаман, тебе одного РФВС-подобного топика за пару дней мало, ты еще хочешь? Там, не спорю, получилось почти как в старые добрые времена, но некропостить-то зачем?

dexpl ★★★★★
()
18 сентября 2018 г.
Ответ на: комментарий от stevejobs

headless - полезный линк

- благодарю

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