Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Алексей
    @py6jlb
    @DmitrySikorsky добрый вечер. Двумя меню не обойтись) там в зависимости от прав нужно пункты показывать.
    Dmitry Sikorsky
    @DmitrySikorsky
    тогда нужно сделать собственный view component, примерно такой, как строит меню в админке. он там как раз учитывает права
    Алексей
    @py6jlb
    да, спасибо. Я примерно так и хотел поступить.
    Алексей
    @py6jlb
    Всем привет. Кто использует PostgreSQL, подскажите нет ли проблем с контекстом БД, у меня с sqlite все нормально работает, но когда хотел перенести все на POstgreSQL обнаружил что при попытке создать новый Объект вылетает ошибка "InvalidOperationException: A second operation started on this context before a previous operation completed. Any instance members are not guaranteed to be thread safe." Если кто нибудь сталкивался подскажите как решали.В проекте использую код с GitHub(не nuget) последняя версия из master, скрипты для схемы и данных БД от туда же.
    Dmitry Sikorsky
    @DmitrySikorsky
    Приветствую! Очень много работал с PostgreSQL, проблем не было. Может быть вы используете собственное расширение для Платформуса и там не вызываете, например, ToList() после доставания данных из базы, и поэтому у вас обращение в базу фактически происходит где-то из представления?
    Алексей
    @py6jlb
    @DmitrySikorsky , здравствуйте. Я использовал код из вашего репозитория без изменений, в итоге прошелся по всем реализациям репозиториев для PostgreSQL и добавил ToArray(), к методам которые возвращают IEnumerable<T>, этого не было ни в местах использования ни в реализации репозиториев.В своих дополнениях я везде использовал ToArray(), столкнулся с ошибками в репозиториях модуля Domain. Сейчас другая проблема, после сборки приложения и выполнения команды dotnet publish, я размещаю приложение на сервере и у меня отваливаются все встроенные в пакеты статические файлы(скрипты и стили), и я пока не понял почему. Подскажите как и в каком месте приложение распознает путь до файла разделенный точками, например "/wwwroot.areas.backend.css.platformus.routing.min.css", я нашел код отвечающий за формирование пути но не могу найти обработчик этого запроса, буду благодарен.
    Dmitry Sikorsky
    @DmitrySikorsky
    это происходит в ExtCore, CompositeFileProvider
    Алексей
    @py6jlb
    @DmitrySikorsky, спасибо буду смотреть.
    aliaksandrhuryn
    @aliaksandrhuryn
    @DmitrySikorsky , подскажите пожалуйста, как лечить? InvalidOperationException: The AuthorizationPolicy named: 'HasBrowseConfigurationsPermission' was not found.
    Dmitry Sikorsky
    @DmitrySikorsky
    @aliaksandrhuryn добрый день! странно. это вы свое расширение сделали, или при использовании стандартных возникает исключение?
    Алексей
    @py6jlb
    @DmitrySikorsky доброго времени суток. Ни как не могу разобраться со связями классов в админке. Создал класс, добавил член класса который должен связывать его с коллекцией(как я понял) другого класса(указывается в настройках связи), но когда пытаюсь получить доступ к этому полю во вьюхе получаю ошибку. Подскажите как работать со связями или скиньте ссылку на документацию(сам не смог найти).
    Dmitry Sikorsky
    @DmitrySikorsky
    связи, которые описываются в админке, они просто описывают связи в контексте данных. это не означает, что графы будут целиком загружаться и будут доступны из представлений. загрузкой данных управляют источники данных (дата сорсы). т.е. если вам нужен объект с его связями - вам нужно добавить датасорс, который загрузит объект с его связями. стандартные встроенные источники данных позволяют указать путь внути объекта, который нужно загрузить рекурсивно. например, можно загрузить пост блога, его комментарии и все теги комментариев.
    поле Nested XPath
    в свойствах дата сорса
    либо если нужно выгрузить объекты связанные с текущим, то можно исплользовать RelatedObjectsDataSource, и просто указать какого класса связанные объекты нужно вытащить
    там же поддерживается и пагинация
    да, это нужно подробнее описать в документации - времени не хватает
    Алексей
    @py6jlb
    @DmitrySikorsky спасибо. А можно пример использования поля Nested XPath
    Dmitry Sikorsky
    @DmitrySikorsky
    Навскидку не вспомню. Но суть простая. Если вы выгребаете, например, объекты класса BlogPost
    и назвали код источника данных BlogPosts
    то объекты у вас будут доступны по свойству BlogPosts внутри представления
    если же например у каждого поста есть теги, то вы просто пишете туда /Tags
    кстати, вспомнил, вот же оно есть:
    вот тут теги отображаются как раз таким образом
    Алексей
    @py6jlb
    Супер. Спасибо еще раз. Буду смотреть.
    Dmitry Sikorsky
    @DmitrySikorsky
    я как раз это добавил в пример, чтобы было ясно
    ну а если у тегов было бы еще какое-то свойство-отгошение, его можно было бы тоже выбрать написав не /Tags, а /Tags/SomeTagProperty
    и так далее, рекурсивно
    Алексей
    @py6jlb
    теперь понятно. я просто смотрел в примере который не Blog а Website и там такого не увидел.
    Алексей
    @py6jlb
    @DmitrySikorsky, день добрый. Подскажите как разместить приложение на Платформусе за реверс прокси Nginx с использованием поддиректорий, например приложение висит на порту 5000 а на nginx прописан проброс с адреса {domain name}/app на localhost:5000, у меня проблема со ссылками, я не найду где в платформусе задать контекст для ссылок. Почти все ссылке не работают, картинки и остальная статика не грузится.
    Dmitry Sikorsky
    @DmitrySikorsky
    Алексей, к сожалению, не могу подсказать, т.к. не пробовал. Я в основном работаю со стеком Microsoft. Ребята размещали приложения на Платформусе на Linux, но я не вникал, как именно. Но я думаю, что здесь нет какой-либо специфики именно связанной с Платформусом. Думаю, все так же, как и в обычных приложениях на ASP.NET Core.
    Michael D. Corbett
    @vector-man
    Hey there. Just discovered your project. Looks awesome!
    Michael D. Corbett
    @vector-man
    If anyone has an answer to my question here, it would be really appreciated: Platformus/Platformus#208
    (oh, by the way, great features! Looks perfect for my next site.)
    Dmitry Sikorsky
    @DmitrySikorsky
    Thank you for your question. Basically, now I have a lot of things I would like to change in the new versions. I like the concept, but many things are done not in the best way. I hope I will have time to implement all the ideas I have.
    LucaGabi
    @LucaGabi
    Hi, at first look this looks very very ugly .. is there a way to change the theme ??
    Dmitry Sikorsky
    @DmitrySikorsky
    Hi @LucaGabi ! Are you talking about backend or frontend? But yes, you can change both of them.
    Sultan Kadyrkesh
    @sultanlive
    @DmitrySikorsky Здравствуйте. Отличную CMS делаете. Но вот не знаю как правильно сделать некоторые моменты. К примеру в Layout есть данные, которые можно было бы редактировать с Админки (телефон, email, и т.д.). Как сейчас у меня реализовано: создал класс Param (key, value) в Админке и отдельный сервис с методом GetValue(dynamic model, string key) . И в Layout inject-ом подключаю сервис, и в нужных местах вызываю Localizer.Get(this.Model, "contactEmail"). Правильно ли я делаю?
    Sultan Kadyrkesh
    @sultanlive
    "Layout"
    И вот сам сервис
    "Service"
    Dmitry Sikorsky
    @DmitrySikorsky
    Здравствуйте, @sultanlive ! Спасибо за ваш интерес. Если я правильно понял вопрос, то можно просто сделать реальный класс C# и мапить на него объекты "из админки": http://docs.platformus.net/en/latest/advanced/object_mapping.html
    Т.е. в вашем сервисе просто вынуть нужный объект (например, класса Layout) и его свойства уже в нужной локали просто отобразить.
    Я сейчас занимаюсь версией 2.0.0. Она будет логически похожа на текущую, т.е. концепция конечных точек, источников данных и так далее сохранится, однако она будет гораздо проще, быстрее и компактнее. Очень много мы использовали текущую версию для различных проектов, набрался опыт, который хотелось бы применить.
    Sultan Kadyrkesh
    @sultanlive
    @DmitrySikorsky здравствуйте, да, я поначалу так и хотел сделать, но классу StronglyTypedObjectMapper нужен IRequestHandler. через DI не получается, ну или я что-то не знаю. "image"
    Dmitry Sikorsky
    @DmitrySikorsky
    Да, там немного архитектура некорректная :(