Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

Création de pages personnelles
#1

Citation :#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
#~ Version du CMS: 1.6.7
#~ Nom de l'hébergeur :
#~ Informations Système :
#~ Informations d'Installation du CMS :
#~ Version du CMS
#~ 1.6.7
#~ Modules installés
#~ CMSMailer
#~ 1.73.14
#~ FileManager
#~ 1.0.2
#~ MenuManager
#~ 1.6.2
#~ ModuleManager
#~ 1.3.2
#~ News
#~ 2.10.4
#~ nuSOAP
#~ 1.0.1
#~ Printing
#~ 1.0.4
#~ Search
#~ 1.6.1
#~ ThemeManager
#~ 1.1.1
#~ TinyMCE
#~ 2.7.0
#~ CGExtensions
#~ 1.18.8
#~ CustomContent
#~ 1.5.3
#~ CGSimpleSmarty
#~ 1.4.4
#~ Comments
#~ 1.9.2
#~ FrontEndUsers
#~ 1.9.3
#~ NFS
#~ 1.0
#~ Calendar
#~ 0.8.2
#~ NMS
#~ 2.3.2
#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
Bonjour,

Je réalise tous mes sites avec made simple depuis un an, j'arrive toujours à faire ce que je veux.

Seulement voila, je dois faire un site pour un regroupement d'artiste, il y a la partie site traditionnelle, pas de problème avec ça.
Dans la section artiste, il y a la liste des artistes avec pour chacun, une page contenant une photo et un texte.
Il faudrait que les artistes puissent mettre à jour cette page eux même, sans passer par l'administrateur du site.

ll faudrait créer un compte utilisateur pour chacun avec le statut éditeur ou ils n'auraient accès qu'à l'édition de leur page perso et pas des autres pages du site.

Est-ce possible ?

Merci d'avance !
Répondre
#2

FEU + customcontent

+ éventuellement selfregister si tu souhaites une ouverture totale des inscriptions librement.

recherche sur le forum pour + d'info, on en parle très régulièrement.
Répondre
#3

Merci, j'ai les deux modules, donc, je vais chercher de ce côté la.
Je laisse la conversation ouverte et je mettrais les détails quand j'aurais fini
Répondre
#4

J'ai fait un site du même genre, mais je suis parti du principe que les gens pouvaient passer par CMSMS... (Pourquoi tu ne veux pas qu'ils puissent y accéder, en fait ?) C'est un peu le souk avec les permissions (il faut un groupe par utilisateur), mais sinon ça marche.

Cela dit, il y a pas mal d'embûches...

Par exemple, si tu veux empêcher les gens de créer des pages n'importe où, il faut leur créer leurs pages et les mettre comme seul propriétaire. Et encore, s'ils veulent (ou s'ils sont vraiment nuls, comme les gens avec lesquels je bosse) ils peuvent copier leur page et créer d'autres pages à la même hauteur dans la hiérarchie, alors qu'ils ne peuvent créer que des pages enfants à leur propre page en utilisant l'onglet 'Ajouter une page'...

(Sinon, j'ai remarqué que quand mes éditeurs modifient leur page, elle change d'alias (elle prend un '-2' à la fin et on reçoit un 'Page not found' quand on veut voir le résultat. C'est hyper chiant... Pourquoi ça fait ça avec les éditeurs et pas les admin ? Il y aurait pas une parade ?)

Mais vous, vous dites qu'il est possible de laisser les membres créer leur propre page ? J'ai pas tellement envie de tout changer, mais ce serait pas mal pour moi aussi, ça... Ils pourraient créer plusieurs pages enfants, ajouter des articles et des événements CGCalendar aussi ?
Répondre
#5

Je n'ai pas assez d'expérience sur le sujet pour être certain, je n'évoquerais que des idées et des souvenirs de discussions lues sur les forums FR/Org

L'idée est d'utiliser la balise {edit} que cmsms propose par défaut dans toute installation + créer une page ou un utilisateur unique dans un groupe unique aura le droit de modification (toute autre autorisation sera inutile)

Le visiteur ira donc se connecter sur le front office (back-office si inévitable) et sera redirigé vers sa propre page (jouez sur les Alias de page) là il vois un gros bouton EDITER dont l'affichage sera conditionné par "utilisateur connecté ET utilisateurcourant = AliasPage"

exemple

Code :
{if $ccuser.isLogging() && $ccuser.pseudo == $page->getAlias();}
{edit}
{/if}
ainsi le propriétaire d'une page peut modifier depuis le front office sa page, c'est + simple pour l'utilisateur puisqu'il n'a pas l'impression de passer par 36 étapes.

maintenant ce système n'est pas parfait et demande à être testé/amélioré sur de nombreux points
* un utilisateur NON-FEU peut il se connecter depuis le front-office ?
* ce système suppose beaucoup de paramétrage en amont non-automatisable
* l'utilisateur pourrait une fois sa page enregistrée, aller bidouiller d'autres page comme l'explique Yvan

D'autres pistes : recherchez d'autres modules spécialisés dans ce domaine ? utiliser la soumission d'articles depuis FEU comme moyen de mettre à jour une page ( 1 catégorie = 1 user, chaque article deviens donc une mise à jour du précédent, on affichera dans la page de l'utilisateur uniquement le dernier "article" posté, on initialisera le formulaire de création d'un nouvel "article" avec les informations du précédent.)

bref autant de piste que de soucis en perspective mais l'idée est très intéressante Smile
Répondre
#6

Ce n'est que quand on copie une page ou qu'on lui donne le même nom qu'une autre page qu'il y a un -2 qui se place en fin d'alias (ce qui est tout à fait judicieux) et pas quand on modifie.
Citation :C'est un peu le souk avec les permissions (il faut un groupe par utilisateur)
10 secondes pour créer un groupe. A moins que tu n'aies des centaines de rédacteurs, je ne vois pas le problème. Et commencer à donner la permission à tes "nuls" de créer des pages n'importe où, c'est là que tu vas avoir le souk.
Il te faut un administrateur connaissant bien le cms qui allouera des pages aux rédacteurs.

Je vois que Bess est passé avant moi.
Petite correction pour l'édition en front office : {if $ccuser->username('leNomDuRédacteur')}
{edit}
{/if}
est suffisant, il me semble.
Répondre
#7

Je ne dis pas que c'est le souk à cause du fait qu'on doit créer un groupe par utilisateur. C'est le souk parce qu'il y a des ratés et des incohérences dans la gestion des droits.

Quant à l'histoire des '-2', j'ai revérifié: avec un compte d'éditeur, le fait d'appliquer ajoute ou enlève ce suffixe. ça alterne. Et c'est pas pratique pour vérifier le résultat de ses actions...
Répondre
#8

merci pour tout les commentaires, en fait ça ne me dérange pas qu'il passe par l'interface admin du moment qu'ils n'ont pas accès à toute les pages.
Le but et de faire au plus simple: créer la page pour chaque membres, après ils rentre leur mot de passe et édite leur page uniquement. il n'ai pas question que n'importe qui puisse ce créer une page vu que c'est juste pour les membres du regroupement et évidemment, comme ils sont nuls en web, c'est moi qui gère le tout et qui crée les pages ( 47 en tout, ça va ...)
je vais m'y mettre demain
Répondre
#9

Effectivement le plus simple est de créer un groupe, un utilisateur et de créer une page , j'ai mis le même nom partout pour ne pas tout mélanger.
Ensuite, mettre l'utilisateur comme propriétaire de sa page (option de la page)
L'utilisateur va sur l'admin avec son login et il n'a accès qu'à sa page.

Pour les autorisations, je n'ai rien coché du tout

Je vais essayer maintenant de voir avec l'édition en front office
Répondre
#10

Bonjour à tous et bonne année,
je me permet de déterrer ce sujet car je suis en train de travailler sur une nouvelle version de mon site et je me retrouve avec le même problème de "-2" qui s'ajoute de manière aléatoire à l'alias de la page quand une personne autre que moi édite une page .

Donc j'aurai aimé savoir, si par le plus grand des hasards, quelqu'un avait trouvé une solution à ce problème .

merci d'avance
Répondre
#11

quelle version ? il me semble avoir vu passer un correctif sur les 1.9.1 ou 1.9.2 mais ca remonte...
Répondre
#12

salut, j'ai bien la version 1.9.2 Wink
Répondre
#13

donc pas de solution de ma part :/
Répondre
#14

merci quand même Wink
Répondre
#15

UP !

la future 1.9.3 va corriger le bug que guismo20 évoque : http://dev.cmsmadesimple.org/bug/view?id...mit=Submit

Patientez donc encore un peu Wink
Répondre
#16

>la future 1.9.3 va corriger le bug que guismo20 évoque
Pour test uniquement c'est du SVN et ça bouge souvent Wink
http://jc.etiemble.free.fr/abc/index.php...rcesfr_dev
Update de 1.9.2-Fr vers 1.9.3-Fr

J-C Etiemble v 2.2.xx
Répondre
#17

Juste une question : ce problème m'arrive mais seulement sur deux de mes sites dont je ne gère pas les noms de domaines. N'arrivant pas à isoler le problème j'en avais déduit que ceci pouvait d'une manière ou d'une autre expliquer cela...
En mettant false à la place de true dans $config[anti_alias] le problème semble disparaître. Merci Bess pour cette info.
Répondre
#18

Wink je t'en prie

regarde la suite de message dans mon lien, ils confirment que c'est un bug aléatoire et peu reproductible, typiquement ce que tu as.

Citation :$config[anti_alias]

$config[auto_alias] ca serait mieux Smile

Citation :la future 1.9.3 va corriger

j'ai bien précisé que c'est une future version donc oui faut attendre sa sortie
Répondre
#19

merci pour l'info =)
Répondre
#20

malheureusement ca n'est pas réglé, je viens de faire le test grandeur nature avec un membre et ca me met a -2 a la fin du page alias, j'ai bien la 1.9.3 pourtant, je repars à la recherche de la solution miracle Sad
Répondre
#21

j'ai mis auto_alias_content sur false dans l'attente d'une meilleure solution

remis sur tue, ca créait de nouveaux problèmes ...
Répondre
#22

en ayant fouiné un peu le code qui doit gerer ca se trouve dans class.content.inc.php vers la ligne 695

Code :
// Make sure auto-generated new alias is not already in use on a different page, if it does, add "-2" to the alias
            $contentops =& $gCms->GetContentOperations();
            $error = $contentops->CheckAliasError($alias);
            if ($error !== FALSE)
            {
                if (FALSE == empty($alias))
                {
                    $alias_num_add = 2;
                    // If a '-2' version of the alias already exists
                    // Check the '-3' version etc.
                    while ($contentops->CheckAliasError($alias.'-'.$alias_num_add) !== FALSE)
                    {
                        $alias_num_add++;
                    }
                    $alias .= '-'.$alias_num_add;
                }
                else
                {
                    $alias = '';
                }
            }
        }

        $this->mAlias = munge_string_to_url($alias, $tolower);
    }

je ne suis pas assez casse cou et expérimenté pour faire sauter ca mais si quelqu'un d'expérimenté me disait comment gérer ca ce serait sympa Wink
Répondre
#23

je ferai bien :
Code :
$contentops =& $gCms->GetContentOperations();
            $error = $contentops->CheckAliasError($alias);
            if ($error !== FALSE)
            {
                if (FALSE == empty($alias))
                {
                    $alias = '';
                }
                else
                {
                    $alias = '';
                }
            }
        }

        $this->mAlias = munge_string_to_url($alias, $tolower);
    }

mais ca me parait assez bourrin et je n'ai pas de réelle idée des conséquences ...
Répondre
#24

alors en continuant les tests :
* ma méthode bourrine ne marche pas, par contre
si j'ajoute dans les paramètres du site la possibilité pour les membres non admins de changer l'alias de page dans leurs pages, l'alias visiblement ne change plus ...

???

donc visiblement la solution est de ce côté, mais bon, comme pour les gabarits, je ne suis pas fan à l'idée qu'ils puissent tout changer ...

si quelqu'un à une idée ou piste ... merci Smile
Répondre
#25

oulala... je n'ai aucune idée du pourquoi comment, mais je te déconseille évidement de modifier le core de cmsms.. Sad

si tu arrives à le contourner en modifiant les autorisations c'est tant mieux.

mais c'est bizarre cette histoire d'alias bon sang... ils avaient dit avoir corrigé définitivement ce truc :/

faudrait qu'on test sur une install fraiche voir si le cas se reproduit.

Maintenant autre idée : c'est peut être le comportement normal de cmsms lorsqu'un utilisateur qui n'a pas le droit de modifier un alias fait un duplicate sur une page... il peut pas le modifier et ne peux pas utiliser le même alias question de sécu, que nous reste t il comme solution ?
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)