Содержание
CMS без баз данных
← →
Pazitron_Brain ©
(2006-04-16 16:43)
[0]
Посоветуйте, пожалуйста CMS, которая может работать без баз данных. Только PHP или Perl.
← →
Pazitron_Brain ©
(2006-04-16 20:26)
[1]
Все, нашел.
← →
MeF Dei Corvi ©
(2006-04-16 20:44)
[2]
> Все, нашел.
Поделись найденным 🙂 (Чисто ради интереса)
← →
имя
(2006-04-17 09:40)
[3]
Удалено модератором
← →
Marser ©
(2006-04-17 10:09)
[4]
Удалено модератором
← →
Pazitron_Brain ©
(2006-04-17 12:31)
[5]
MeF Dei Corvi © (16. 04.06 20:44) [2]
http://guppy.ukrmed.info/
<font color=red><strike>имя</strike></font> (17.04.06 9:40) [3]
Marser © (17.04.06 10:09) [4]
Чего это вы такое наговорили? %)
← →
Yanis ©
(2006-04-17 14:13)
[6]
> Чего это вы такое наговорили?
Вообще то ничего особенного. Просто сслыка 😉
← →
Pazitron_Brain ©
(2006-04-17 15:16)
[7]
Удалено модератором
← →
zero
(2006-04-17 16:07)
[8]
Pazitron_Brain © (17.04.06 12:31) [5]
http://pagemanager.sourceforge. net/
Офигевший
← →
Pazitron_Brain ©
(2006-04-18 12:21)
[9]
Удалено модератором
Примечание: Offtopic
← →
zero
(2006-04-18 13:08)
[10]
Удалено модератором
Примечание: Offtopic
← →
Pazitron_Brain ©
(2006-04-18 13:49)
[11]
Удалено модератором
Примечание: Offtopic
← →
zero
(2006-04-18 14:05)
[12]
Удалено модератором
Примечание: Offtopic
CMS на SQL.
Как сделать веб-оболочку для базы данных SQL Server в виде личных кабинетов на сайте — Руслан Раянов на vc.ru
В этой статье рассмотрим вопрос создания веб-оболочки для базы данных SQL Server на примере нашей платформы Falcon Space и посмотрим основные отличия от классической разработки системы по полному стеку технологий.
290
просмотров
Это не оболочка для управления СУБД SQL Server. Это система личных кабинетов для учета информации, хранящейся в SQL Server. Все управление системой осуществляется через SQL. Если вы знаете SQL, то вы сможете сопровождать подобную систему.
Разработка учетной системы на полном стеке (fullstack)
Самописные системы разрабатываются на базе полного стека разработки с N слоями:
- проектируется база данных
- создается слой доступа к данным
- создается слой бизнес-логики
- разрабатывается API или слой контроллеров
- делается верстка
- к ней подключается динамика за счет front end программирования.
Это довольно трудоемко, сложно. Зачем тогда использовать это, если есть коробочные решения?
Коробочные решения не дают гибкости, а для дальнейшего развития системы очень важно иметь возможность легко развивать систему без серьезных ограничений.
Fullstack разработка — это долго, дорого и много ошибок
Когда-то давно мы создали модуль метрик, который генерировал некие отчеты в виде вложенных показателей. Каждый отчет — это данные в таблицах + некая хранимая процедура для извлечения данных.
Движок модуля подхватывал эти данные и хранимку и выводил все, что нужно пользователю.
Полное управление через SQL — новая парадигма
Это привело нас к идее, а почему бы и другие все модули не попробовать сделать по подобному принципу — формы, таблицы, графики, дашборды и прочее.
Что дает в итоге такой подход:
- можно менять бизнес-логику на лету (просто поменяв хранимую процедуру). В случае обычного N-слойного приложения необходима перекомпиляция и обновление программы.
- скорость внесения изменений. Очень важно иметь возможность быстро вносить изменения, а не ждать разработчиков по 2 недели, когда они внедрят изменения в систему.
- основная сложность ложится на один слой и локация ошибки с высокой степенью вероятности находится только в одном слое — SQL процедурах. Это упрощает поиск ошибок и минимизирует количество сбоев на front end.
Как это выглядит изнутри
Возьмем к примеру вывод таблицы.
На входе — это сниппет.
<div data-code=»table1″ data-itemid=»1″></div>
Ваш JS движок обрабатывает подобные компоненты и запрашивает у базы описание по компонентам и данные для них (все через знанимые процедуры).
Полученные данные JS движок выводит в виде таблицы.
Данные удовлетворяют неким правилам/стандартам. Например, для таблиц у нас правила примерно выглядят так:
процедура GetItems выдает в SELECT 1 данные таблицы, в SELECT 2 — данные о пагинации, в SELECT 3 — настройки вывода таблицы.
К примеру, если в SELECT 3 передать select 1 Compact — то таблица будет выведена в компактном режиме.
Редактирование SQL для таблицы вывода страниц
Так выглядит таблица в компактном режиме
Если необходимо реализовать какие-то действия с данными таблицы, то это также вызов некой хранимой процедуры с заданными параметрами и заданным выводом.
Процедуры делятся на системные (обслуживают компоненты и внутренние потребности системы) и пользовательские (задают вывод данных).
Редактирование процедур происходит через интерфейс панели управления, т.е. нет необходимости искать каждый раз хранимую процедуру в SQL Server Management Studio.
Идея Falcon Space — Сниппеты в разметке+ управление бизнес-логикой через SQL + гибкие компоненты ядра
Плюсы и минусы подхода с полным управлением через SQL
Какие дополнительные плюсы дает подобный подход?
1. Быстродействие. Вы работаете с чистым SQL без лишних прослоек в виде ORM. Это дает хорошее быстродействие, и оно ограничивается, по сути, быстродействием вашего написанного SQL запроса.
2. Созданный функционал — это только SQL и данные в таблицах (что также можно представить в виде SQL скрипта). Вы можете легко переносить между разными системами SQL для отдельных компонентов. Это возможность быстро наращивать кодовую базу и адаптировать ее в других подобных приложениях.
3. Не нужна компиляция. Поменяли процедуру — получили сразу в системе другой результат. По сути разработка идет в realtime, параллельно с использованием.
4. Локализация ошибок — большинство ошибок лежат в вашем SQL, а не разбросаны по всему стеку. Есть проблема? Проверяем работы процедуры в SQL Management Studio и анализируем вход и выход.
5. Поняв общий подход, систему можно развивать, добавляя новые блоки и модули без необходимости менять исходный код программы.
6. Уменьшение требуемых компетенций для поддержки системы. В нашем случае мы сводим все к двум компетенциям — знание SQL для бизнес-логики и Bootstrap для стилизации и вывода данных.
7. Уменьшение количества велосипедов. Программисты не могут больше делать в системе три вида по-разному сделанных таблиц. Все унифицируется и разработка идет быстрее.
Конечно, не все так просто, и есть свои сложности. Например, некоторые функции не так просто реализовать в SQL (вычисление хеша для кириллицы) или передача вызова из хранимой процедуры в код веб-приложения. Где-то приходится идти на компромиссы (например, есть ограничения верстки отдельных элементов).
Однако, в целом такой подход позволяет решать ключевые задачи — быстро создавать необходимый функционал, иметь гибкие возможности по дальнейшему развитию и снижать стоимость сопровождения системы.
Возможности платформы Falcon Space
Более подробное описание как изнутри работает система можно найти в вводной статье документации Falcon Space.
В статье На пути к созданию продукта. История создания Falcon Space можно более глубоко погрузиться в предпосылки создания системы и ее особенности.
P.S. Мы реализовали несколько типовых решений на базе нашей платформы. Вы можете посмотреть их демо здесь — demo.web-automation.ru
Источник:
html — CMS без серверной части или базы данных
Целесообразность использования CMS без базы данных для вашего собственного проекта зависит от целого ряда различных факторов. Преимущества, а также типичные проблемы CMS без базы данных приведены здесь:
CMS без базы данных обычно довольно просты и ограничены наиболее важными функциями, поэтому пользователям не нужно много времени для ознакомления. .
О резервных копиях веб-проектов легко заботиться, так как не требуется сложной резервной копии базы данных, поэтому данные нужно просто загружать из веб-пространства.
Прямая передача информации без обхода базы данных означает более короткое время загрузки и более быстрый доступ к веб-проекту.
Небольшая CMS-система обычно не требует много веб-пространства и не предъявляет особых требований к аппаратному обеспечению.
Наряду с многочисленными преимуществами у CMS без баз данных есть и некоторые недостатки:
Возможности CMS без баз данных ограничены, поэтому системы лучше всего подходят для небольших проектов с минимальным количеством статических сайтов. Динамические веб-сайты не могут быть созданы без баз данных.
Поскольку простые системы CMS обычно предлагают только небольшие сообщества, пользователь часто остается один на один со своими вопросами и проблемами и вынужден самостоятельно разбираться в документах.
Часто недоступные коды и минимальное распространение программного обеспечения CMS могут привести к тому, что простая CMS станет скучной для пользователя, так как меньше шансов на развитие.
Отсутствие структурированной и аккуратной работы с простой системой управления контентом может затруднить повторный поиск определенного контента.
Для каких проектов подходят простые CMS?
Учитывая список плюсов и минусов систем управления контентом без баз данных, можно предположить, что это программное решение подходит не для управления контентом каждого проекта. Преимущества систем без баз данных реально материализуются только в небольших веб-проектах. Решение отказаться от использования базы данных положительно влияет на производительность, но отрицательно сказывается на структуре более крупных веб-проектов. Также невозможно использование динамических веб-страниц с CMS без базы данных. Пользователи, которые планируют веб-проект с постоянным обновлением и интенсивным взаимодействием с посетителями веб-сайта, не должны выбирать простую систему CMS без базы данных. То же самое относится и к владельцам крупных веб-сайтов, сложная структура которых оказывается слишком сложной для системы управления контентом, не связанной с базой данных.
С другой стороны, есть проекты, которые выигрывают от использования CMS без базы данных: небольшие веб-сайты, которые построены с использованием простой структуры и не имеют большого количества страниц, могут быть быстро созданы с помощью этой CMS и произведут впечатление на посетителей. с быстрым доступом к информации, которую они ищут. Эти CMS-системы лучше всего подходят для малого бизнеса или фрилансеров, которые хотят представить свой спектр услуг. Ведение блога также будет работать на небольшой системе CMS.
Существенным преимуществом такой экономичной системы является то, что для работы сервера базы данных не требуется никакого оборудования, поэтому пользователь экономит деньги, а также не требует трудоемкого резервного копирования. Менее опытные пользователи могут извлечь выгоду из четкой структуры и легкого запуска.
CMS без базы данных подходит для:
- домашних страниц малого и среднего размера
- Операционные блоги
- Представление ряда услуг (бизнес, фрилансеры)
Простые системы CMS не подходят для:
- Интернет-магазинов
- Новостные сайты
- Онлайн-сервисы
- Веб-сайты с большим количеством мультимедийного контента
Рекомендация простой CMS:
GetSimple CMS
Умело выбранный девиз GetSimple CMS без базы данных: «В GetSimple есть все, что вам нужно, и ничего лишнего». Программное обеспечение GetSimple CMS с открытым исходным кодом под лицензией GPLv3 характеризуется минималистичной структурой, которая предлагает все необходимое и может быть расширена с помощью плагинов. Поскольку программный код находится в свободном доступе и может быть изменен, пользователь может адаптировать систему CMS в соответствии со своими потребностями. Данные сохраняются в веб-пространстве в формате XML. Дополнительная информация об этой CMS включает:
- 5-минутная установка
- Интуитивно понятный пользовательский интерфейс
- Функция отмены для всех модификаций
- Создание множества серверных учетных записей
- Документация первого класса (Wiki)
- Очень активное сообщество
- Шаблон HTML5
c# — Как лучше всего управлять базой данных в системе ONE CMS/MULTIPLE WEBSITE
Задать вопрос
спросил
Изменено
9 лет, 9 месяцев назад
Просмотрено
886 раз
Я разрабатываю систему управления контентом (CMS). Но это отличается от других CMS. Я могу поддерживать одну CMS и определять контент для нескольких веб-сайтов. Как блог. Но на некоторых сайтах разные таблицы.
Моя текущая CMS имеет одну базу данных (MS SQL 2005)
База данных включает множество таблиц:
Основные таблицы
- Пользователь
- Страница
- Модули
- Порталы
и т.д…
Web 1 таблицы
- web1Post
- web1CustomTable
- web1Table2
и т.д…
Web 2 таблицы
- web2Customtable3
- web2CustomTable4
- web2Table4
и т.д…
Каждые пользовательские таблицы присоединяются к Пользовательским, Портальным и другим некоторым таблицам. Это успешно работает.
Но я хочу разделить базу данных на MainDatabase, web1database, web2database и т. д.
Я пытаюсь разделить базу данных. Но проблема заключается в том, что пользователь, портал и связанные таблицы имеют проблему
. Я использую EntityFramework, Asp.net MVC
. Каков наилучший способ решить эту проблему?
- c#
- sql-server
- asp.net-mvc-3
- sql-server-2005
- entity-framework-4.1
1
Не существует «лучшего» способа решить эту проблему. Просто разделите базы данных, а затем начните работать над исправлением кода в своем приложении.
Вам потребуется
- создать сопоставления инфраструктуры сущностей для новых баз данных
- обновить код и удалить ссылки на существующую базу данных
- добавить новый код со ссылками на новые базы данных
Однако я бы рекомендовал вам не разделять базы данных, а вносить изменения в существующую схему для поддержки настроек. Возможно, вы можете использовать столбцы xml для хранения пользовательских данных или даже создать свой прикладной уровень, чтобы он мог динамически обновлять структуру базы данных. Вот как TFS и Dynamics CRM обрабатывают настройки — у них есть основная схема в базе данных и схема метаданных, в которой хранится информация о настройках.
1
Загрузите и установите Kentico CMS и узнайте, как она решает эту проблему. Если вы хотите, чтобы база данных с несколькими арендаторами определяла/реплицировала разные схемы для каждого арендатора/веб-сайта.
Вы не можете решить проблему связанных таблиц из разных баз данных.
Не создавайте базу данных для отдельных сайтов, такой SharePoint не создает базы данных для веб-сайтов. Просто создайте внешний ключ в каждой таблице веб-сайта, например, SubwebId.
Когда вы решите иметь отдельные базы данных, вам нужно будет создать хранимую процедуру для создания базы данных веб-сайта, метод создания веб-сайта в IIS (также необходимо привязать домен к веб-сайту), метод создания файлов сайта из шаблона. путем замены всех строк подключения. Вы действительно хотите это сделать? Я думаю, что это не очень хорошая идея.