Tutorial - Criando um produto para Plone usando Archetypes
Este tutorial irá lhe ensinar como criar novos tipos de conteúdo para o Plone seguindo o exemplo de uma locadora de veículos.
Analisando os módulos Permissions.py e Config.py
Permissions.py
Para o nosso produto criaremos três permissões: Add, Edit/Delete e View.
#Permissão para adicionar um cliente, carro, aluguel
ADD_CONTENTS_PERMISSION = "LocadoraVeiculos: Add Content"
#Permissão para editar/excluir um cliente, carro e aluguel
EDIT_CONTENTS_PERMISSION = "LocadoraVeiculos: Edit Content"
#Permissão para visualizar um cliente, carro e aluguel
VIEW_CONTENTS_PERMISSION = "LocadoraVeiculos: View Content"
A razão para as variáveis estarem um maiúsculos é porque eles devem ser constantes em todo nosso produto.
Ao criar uma permissão muitos autores recomendas nomeá-la seguindo um padrão: «ProductName»: «Permission». Assim, além de organizar-las todas juntas, evita que outros produtos possuam uma permissão com o mesmo nome.
Config.py
Aqui definimos o nome do nosso produto, qual a pasta skins e quem poderá adicionar novos clientes/carros/alugueis.
from Products.CMFCore.CMFCorePermissions import setDefaultRoles
from Permissions import ADD_CONTENTS_PERMISSION
PROJECTNAME = "LocadoraVeiculos"
SKINS_DIR = "skins"
GLOBALS = globals()
#Configura permissão
setDefaultRoles(ADD_CONTENTS_PERMISSION, ('Manager', 'Owner'))
# Lista de dependencias do produto e que serão instalados pelo
quick-installer
DEPENDENCIES = [‘LinguaPlone’,’ATVocabularyManager’]