nims

  •  ·  Standard
  • 535 views
Friends
Empty
Add new...
 
 
·
Added a discussion

Доброго времени суток!

У меня есть задача как-то разделить возможности модуля timeline.

Я начал в это вникать и спустя несколько дней пришел к пониманию (возможно ошибочному), что с ним есть один парадокс: он слишком прост в своей конфигурации и это приводит к анархии на сайте. Как бы это странно не звучало. Настраивая его для одной задачи на одной странице, он перестает выполнять любые другие задачи на всем остальном сайте.

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

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

Какая у меня сейчас есть идея в голове и как я пытаюсь разложить функции timeline в разные модули:

Я включаю все, что мне нужно в студии, в настройках модуля timeline для отслеживания: и публикации и комментарии и новые посты в контекст сообществ, всю нужную мне активность на сайте. Затем, я могу добавить блок wiki на страницу и в этот блок добавить макрос какого-либо формата. Например, добавление в wiki блок записи вида

{{**~bx_timeline:get_block_view_hot~**}} 

заставит wiki блок отобразить содержимое вкладки "популярное" из модуля timeline.

Так можно получить много чего: популярные публикации, новые публикации, можно обращаться и к bx_posts, bx_wiki и многое-многое другое.

Я нашел и изучил ресурс

https:**//ci**.**una**.**io/docs/

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

Как будто, вот это может решить мою проблему

bx_srv('bx_timeline', 'get_block_view_custom', [...]); 

но, мне неизвестны параметры, которые можно использовать тут в качестве фильтра. Хотя там указано, что он может принимать параметры на вход.

Собственно вопрос:

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

{{**~bx_timeline:get_block_view_comments_feed~**}} 
{{**~bx_timeline:get_block_view[{"author":"user_id", "mode":comments}]~**}} 

Выше блок я написал выдуманные функции, но "близко к тексту", как это могло бы быть.

Какое может быть решение, в котором у меня на одной странице будет отображена хроника timeline с сабменю из "популярного" и "свежего" и будут отображены только публикации пользователей и тут же, в другом блоке будут отображаться все комментарии из всех источников на сайте: личные страницы пользователей, сообщества, комментарии к публикациям и т.д.?

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

Спасибо большое <3

  • 353
·
Added a discussion

Good afternoon

When using S3 bucket , UNA defaults to using virtual-hosted-style path for the file. Is there any way to change this to a normal path-style? So that the file path is

s3"."myendpoint"."com/bucket/test"."png

and not

bucket"."s3"."myendpoint"."com/test"."png

as it is now. I have tried changing various parameters in the file:

una/plugins/akeeba/s3/src/Configuration"."php

in particular the $useLegacyPathStyle parameter from false to true. I also changed the path formation in the file:

una/inc/classes/BxDolStorageS3"."php

It was like this:

$sPath .= $this->_sBucket . '.s3"."amazonaws"."com';
       return $sPath . '/' . $this->getObjectBaseDir($isPrivate);

I changed to:

$sPath .= 's3"."amazonaws"."com' . '/' . $this->_sBucket;
       return $sPath . '/' . $this->getObjectBaseDir($isPrivate);

Unfortunately, all this didn't change anything and the path to the s3 bucket always remained in virtual-hosted-style format. I checked the changes in the docker container itself via docker exec -it una /bin/bash and all the file changes there were when the container was built, however this had no effect. Can someone please tell me what I need to change in the configuration to get the path-style format reference?

Thanks

  • 383
·
Added a discussion

Good afternoon. 

I think most people don't have the ability and purpose to do their Facebook with a huge amount of social features where they have a friend system and stuff. These are actually very large projects that are redundant at the very beginning of a small community. A large number of features and stuff will drive away new users to your community when there are not tens of thousands of people on it, but just a few dozen. This template should be simpler visually and socially. Activity feed on the homepage, interest groups for users, event feed with all comments of users in publications. As a good example of this kind of community I suggest the following: "new .dtf .ru"

No friend system. The whole emphasis of the community is not on the authors, but on the content that these authors create. It is possible to subscribe to users to follow their content.

Less of a social function and more of a focus on the content being created.

  • 391
·
Added a discussion

Good afternoon

The spacenook template, when switching the storage method from local to s3, doesn't actually switch anything. Like the uploaded images path was "mysite . com/sys_img/test.png", although it should have become "s3 . myendpoint . com/sys_img/test.png" after I changed the settings to store content in the s3 bucket.

  • 383
·
Added a discussion

Доброго времени суток.

Я пытаюсь настроить свой экземпляр UNA для работы со своим же экземпляром MinIO. У меня на этом хосте MinIO уже хранит свои файлы мой экземпляр Mastodon и никаких проблем с доступом не возникает. UNA же почему-то решительно отказывается это делать и я не могу понять почему. Вот примеры политик, которые используются для ведра s3:

Кастомная политика ведра:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "*"
        ]
      },
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::**BUCKET**NAME**/*"
      ]
    }
  ]
}

Кастомная политика пользователя для чтения/записи в ведро:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:*"
      ],
      "Resource": [
        "arn:aws:s3:::**BUCKET**NAME**/*"
      ]
    }
  ]
}

Ну и создан пользователь с политикой выше, с правами на чтение/запись в ведро. С этими настройками работает мой экземпляр Mastodon, однако адаптировав эти настройки под ведро для UNA, работать это отказывается.

Вопрос: нужно ли как-то по особенному настраивать политики ведра/пользователя в MinIO или что-то еще для UNA? Ошибок никаких в консоли браузера нет при любых настройках в студии UNA параметров хранения файлов для s3. Просто ничего не происходит.

Вообще, было бы неплохо иметь в документации к UNA такую же страничку с настройкой самых популярных s3 сервисов для UNA, как это реализовано у Mastodon (https://docs.joinmastodon.org/admin/optional/object-storage/), если UNA хочет что-то специфичное для своей работы.

P.S. Я уже настраивал удачно тестовое ведро s3 в UNA и оно работало хорошо, но это было ведро от поставщика cloud услуг в РФ и конечно же доступ к нему был заблокирован в некоторых странах из-за чего пользователи из этих стран не могли просматривать контент хранящийся в этом ведре. Поэтому приходится разворачивать свой экземпляр MinIO в Польше, чтобы доступ к его контенту был у всех.

Я уже посмотрел все темы на этом форуме, касающиеся хранения файлов в s3, а так же ходил по ссылке, которую давал в одной из тем один из участников команды UNA (https://github.com/unaio/una/wiki/Dev-Storage). К сожалению это все еще не помогло решить мою проблему. Возможно в этой теме я смогу найти ответ на свою проблему.

Спасибо большое

  • 442
nims Discussions
Timeline custom config
path-style for S3 conf
New UNA template
S3 bug in spacenook template
s3 storage MinIO for una