Мы должны создать наше веб-приложение следующего поколения на платформе DotNetNuke?

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

package main

import (
    "fmt"
    "regexp"
)

var (
    whitelist  = "A-Za-z0-9"
    disallowed = regexp.MustCompile(fmt.Sprintf("[^%s]+", whitelist))
)

func main() {
    fmt.Println(IsValid("foobar007"))
    fmt.Println(IsValid("foo%bar&007"))
}

func IsValid(s string) bool {
    return !disallowed.MatchString(s)
}

( детская площадка )

12
задан annakata 10 February 2009 в 12:43
поделиться

6 ответов

DotNetNuke может быть мощной платформой. Большинство людей, которые колотят его, на самом деле не использовало его ни для чего, но просто знает, что это было создано давным-давно.

Я могу дать Вам пару за и против для взгляда на. Главное преимущество использования его по другим платформам CMS состоит в том, что это - очень сформировавшаяся платформа с довольно многочисленным сообществом вокруг этого (Заснеженный, например). Для большинства задач это или уже встроено или уже существует кто-то там, который создал модуль, чтобы сделать это. Его архитектура уже создается для поддержки кэширования и конфигурации фермы для высоконадежных приложений, которые уничтожили бы сильную головную боль, если Вы смотрите на большой объем запросов.

Место, где DotNetNuke мог разочаровать, тем не менее, - когда необходимо сделать многоступенчатые процессы в модулях. Это, вероятно, верно для любого CMS, но Вы будете чувствовать, что переходите через обручи, чтобы попытаться добраться несколько, разделить модули для предоставления "трудного" пользовательского опыта. У меня действительно нет конкретного примера для этого - это - просто чувство Вы добраться на основе опыта, где все находится в его собственном "контейнере". Другая вещь состоит в том, что из поля, это просто не имеет Web 2.0, смотрят на него. Можно настроить кожу и таблицы стилей, чтобы сделать примерно независимо от того, что Вы хотите, но по некоторым причинам это просто не было большим приоритетом для лагеря DNN в целом, так, как он имеет для Drupal и других.

Таким образом, я предполагаю, должен ли я был сделать сводку, я сказал бы, ищете ли Вы быстрый способ разбудить настраиваемый CMS, и Вы довольны ограничениями платформ CMS в целом, затем пойдите для него. Однако, если Ваш UI является самой важной вещью Вам, и Вы готовы потратить БОЛЬШОЕ усилие сделать его точно, что Вы хотите, затем создаете свое собственное приложение с помощью ведущих страниц ASP.NET и т.п..

14
ответ дан 2 December 2019 в 05:28
поделиться

eee, DNN?В самом деле?

Я открываю меня для провокационных сообщений здесь, но это - продукт, который был создан для другого, менее - цивилизованный возраст (VB.NET, плохая поддержка I18N, никакой msterpages). Лучшие платформы существуют даже исходно в ASP.NET теперь и лучше CMSs в вещах как Drupal. Я думаю, что это было довольно хорошо в получении нас через боль ASP.NET 1.1, но я думаю, что ответ на Ваш вопрос о заголовке является "Нет" в эти дни.

6
ответ дан 2 December 2019 в 05:28
поделиться

Я работал в своей текущей роли теперь в течение 6 месяцев и разрабатываю почти исключительно в DNN. До этого концерта у меня не было опыта DNN. Таким образом, это даст Вам общее представление о том, куда я происхожу из.

Преимущества

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

hydrator шаблон, что использование DNN для создания объекта из DB является довольно гладким и работает хорошо. Это также вынуждает Вас сохранить свои свойства объектов сжатыми с Вашим sprocs/queries, таким образом, беспорядок сведен к минимуму.

Существуют тонны сторонних разработчиков Модуля. И модули являются обычно довольно дешевыми. Таким образом, можно сэкономить деньги, использующие их. (SnowCovered & DNN Рынок)

Недостатки

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

Документация является жестокой. Если Вы собираетесь использовать DNN, получить книгу по нему. Достаточно легко без книги, но когда Вам нужен ссылочный материал нет НИ ОДНОГО, чтобы быть найденным, который вообще полезен.

2
ответ дан 2 December 2019 в 05:28
поделиться

Я работал над несколькими проектами DNN. Существует несколько вещей, на которых я всегда, кажется, застреваю.

Первой вещью и возможно самый важный являются меню. Созданный в menuing и купленных модулях меню все были очень ограниченными и трудными использовать. Мы использовали xml преобразование для представления, создают HTML для меню. Однако xml, что мы были возвращены нам, был плоским XML-файлом. Значение нет смысла в иерархиях, которые ограничили некоторые вещи подменю, которые можно сделать. Так Уровень 0 к пунктам меню Уровня 4 были все одноуровневые элементы друг друга.

Во-вторых, существуют во многих модулях там для выбора из. Если стандартный DNN не делает чего-то, что там наиболее вероятно модуль для него. Однако качество этих модулей варьировалось дико от модуля до модуля.

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

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

5
ответ дан 2 December 2019 в 05:28
поделиться

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

Проблема с этим подходом состоит в том, что такие системы почти всегда имеют архитектуру, которая делает выполнение точно, что Вы хотите довольно болезненный. Коммерческие библиотеки классов разработаны, прежде всего, чтобы быть снова использованными (профессионалом в компаниях), и у них могут быть свои проблемы. Система управления контентом даже не разработала, чтобы снова использовать их код, даже если люди иногда пытаются сделать так. Легко найти, что приличный простой элемент (как составленный пример, скажем, строка, показывающая количество количества файлов), определяется и ставится страница очень удивительным способом. Это делает изменение или удаление простых элементов трудными - если можно узнать, как элемент помещается на странице вообще! Помните, также, с этими приложениями, Вы также несколько зависите от обновления и устранения ошибки коллектива, которые соединяют вещь. Мм, и также потому что эти вещи распространены, они, более вероятно, подвергнутся общему использованию (как phpBB, часто).

Я не посмотрел на Drupal. Это более современно и чаще используемое в качестве основания универсального веб-портала. Но я все еще скептически относился бы к использованию его как основание чего-то, что я в большой степени настраивал.

Если Вы не ожидаете не делать большую модификацию к начальной архитектуре DNN, я уклонился бы от выполнения вещей путем, Вы делаете предложение.

0
ответ дан 2 December 2019 в 05:28
поделиться

I have worked on various dotnetnuke projects scaling from simple blogs to full fledged website creators (creating custom sub portals).

Dotnetnuke is great, once you get to know how it works. Documentation is lacking but getting better.

my complaint with dotnetnuke is its hard to unit test.

1
ответ дан 2 December 2019 в 05:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: