Drugi wyraz i zarazem pytanie. Wiem, że workflow to system obiegu dokumentów w przedsiębiorstwie. Sam mam parę pomysłów na zrealizowanie tego. Nie wiem, czy w zwykłym CMSsie przyda się możliwość taka:
Kod
[user]
/ \
[admin] [redaktor]
\ /
[dodanie]
/ \
[admin] [redaktor]
\ /
[dodanie]
czy taka (łatwiejsza w realizacji):
Kod
[user]
|
[redaktor]
|
[admin]
|
[dodanie]
|
[redaktor]
|
[admin]
|
[dodanie]
Zastanawia mnie również w jaki sposób stworzyć rozmaite 'fallbacki' i przydzielać akcje. Np. na samym końcu tych schematów jest akcja 'dodaj'. Mam tylko pomysł na to - żeby to była jakaś akcja w module 'workflow', która aktywuje daną treść. A jej zmiana to po prostu zmiana nazwy w bazie.
Większym problemem jest stworzenie 'pętli':
Kod
[user] <----[ jakaś akcja? ]
| |
| |
[redaktor]------------+
/ \
/ \
[dodanie] [usunięcie]
| |
| |
[redaktor]------------+
/ \
/ \
[dodanie] [usunięcie]
Taką sytuację możemy mieć gdy ktoś chce dodać artykył, ale redaktor dostrzega w nim błędy. Wtedy ma miejsce jakaś akcja, nie wiem, jakiś mail do autora czy zmienienie jakiegoś pola w bazie..
Chodzi mi głównie o Wasze pomysły, jak stworzyć taki workflow (szczególnie pierwszy oraz ostatni schemat) i czy przyjąłem dobry tok myślenia.
PS. mam nadzieję, że podobaja się wam moje schematy

Kolejna edycja posta. Oto schemat bazy, do którego doszłem:
Kod
[ content ]
+-----+-------+
| id | |
| type| | <-------------+ [ content_type ]
+-----+-------+ | +---------+-----------+
+-----> | id | |
| name | |
+-----> | workflow| |
| +---------+-----------+
|
| [ workflow ]
| +--------+--------+
+-----> | id | | <--------+
| name | | |
+--------+--------+ |
|
[ workflow_hitch ] |
+----------+-------+ |
| id | | |
| workflow | | <-------+
| access | |
| action | |
+----------+-------+
+-----+-------+
| id | |
| type| | <-------------+ [ content_type ]
+-----+-------+ | +---------+-----------+
+-----> | id | |
| name | |
+-----> | workflow| |
| +---------+-----------+
|
| [ workflow ]
| +--------+--------+
+-----> | id | | <--------+
| name | | |
+--------+--------+ |
|
[ workflow_hitch ] |
+----------+-------+ |
| id | | |
| workflow | | <-------+
| access | |
| action | |
+----------+-------+
Typów kolumn można się domyślić (nie miałem siły ich wpinać w ten schemat). Relacje w miare wyraźne. Teraz Kolumna 'action' w tabeli 'workflow_hitch' zawiera nazwe akcji, która przyjmuje za parametr id treści. Np. może to być:
<?php function DeleteContent( $id ) { $model = Init::model( 'Content' ); $res = $model->deleteById( $id ); if( $res->affectedRows() > 0 ) { return true; } return false; } ?>