2012-12-13 13 views
8

Aktualizujemy pole komponentu podczas publikowania komponentu, np. Po opublikowaniu komponentu chcemy zaktualizować bieżącą datę do pola PublishDate komponentu. Napisaliśmy ten kod w .NET assembly (C#). Podczas gdy komponent publikowania kończy się niepowodzeniem z błędem "Nie masz uprawnień do wykonania tej akcji"Aktualizowanie pola komponentu podczas publikowania komponentu

Zwykle robiliśmy to w szablonach vbscript, ale migrujemy do szablonu złożonego, w którym stoimy przed tym problemem.

+3

PublishDate jest dostępny jako właściwość systemowa w metadanych elementu (po opublikowaniu) i zdecydowanie zaleciłbym to zrobić zamiast zmieniać zawartość składników podczas publikowania - widziałem tu wiele problemów związanych z współbieżnością, gdy są używane z wielowątkowi wydawcy –

+2

Jestem tutaj z Nuno. Wyobraź sobie również scenariusz, w którym publikujesz za pomocą dwóch różnych faz planowania. Publikowanie niekoniecznie odbywa się w tym samym momencie wdrożenia. O ile oczywiście nie potrzebujesz opublikowanej daty z CMS, a nie daty, kiedy komponent trafił do repozytorium "na żywo". Tak czy inaczej, zwykle staram się tego uniknąć, z wielu powodów, ale Nuno wydaje mi się wystarczająco dobry, prawda? –

Odpowiedz

3

Wierzę, że po wyjęciu z pudełka Tridion 2011 nie zezwala na szablony do wprowadzania zmian w przedmiotach. To zachowanie można przesłonić w konfiguracji. Jeśli ktoś wie, jak to zrobić, proszę dodać informacje, ponieważ nie mogę go znaleźć w dokumentach.

13

Tridion 2011 nie pozwala już domyślnie publikować ani edytować innych elementów z kodu szablonu.

Jednak może być aktywowany przez zmodyfikowanie atrybutu allowWriteOperationsInTemplates na Tridion.ContentManager.Config pliku:

<tridion.contentmanager.security allowAutomaticUserCreation="true" hideOrganizationalItemsNoAccess="false" allowWriteOperationsInTemplates="true"> 
+0

Czy musimy również podszywać się pod któregokolwiek użytkownika? Ponieważ po zmianie tego ustawienia wciąż mamy do czynienia z tym samym problemem. – user1453602

+1

Dzięki Angel, właśnie to miałem na myśli. Nie mogłem go znaleźć w dokumentach dotyczących treści na żywo z jakiegoś powodu. – Quirijn

+0

Brak konieczności podszywania się pod inne osoby. Tylko pamiętaj, aby ponownie uruchomić zwykłych podejrzanych. Tridion Services, Com + i IIS – Puntero

-1

Było natomiast spotykamy się z wiązki tworzenia przy użyciu kodu szablonów okazało się, że Tom. NET API nie pozwala na to, ponieważ jest to tylko do odczytu.

Stąd modyfikując allowWriteOperationsInTemplates atrybut pliku Tridion.ContentManager.Config:

tridion.contentmanager.security allowAutomaticUserCreation = "true"

To pozwala nam tworzyć artefakty używając TOM.Net API.

Dzięki! Hiren Mistry

Powiązane problemy