Buenas tardes a tod@s,
Ahora estoy realizando un desarrollo de personalización de la nueva versión de alfresco 5.2, veo algunos códigos que son muy distintos que los de alfresco 4.2f.
El problema que tengo es el siguiente: quiero cambiar la marca de publico que estaba ya definida por defecto por la marca de privado para que aparezca la marca privado por defecto en la ventana de "crear un sitio".
Hace tres años más o menos lo modifiqué en el archivo de "create-sitie.get.html.ftl" de alfresco 4.2 y sí funcionaba:
<input id="${el}-isPrivate" type="radio" checked="checked" tabindex="0" name="-" /> <label for="${el}-isPrivate">${msg("label.isPrivate")}</label>
Ahora he probado a modificarlo en el mismo archivo de alfresco 5.2, pero no funciona porque no me deja poner la marca de privado por defecto. He querido probar a quitar directamente los archivos de "crear-sitie.xxxx" para ver si no se aparece la ventana de "Crear un sitio", sin embargo, al final sí que aparece, ¿cómo? no lo entiendo :-/
He leído un blog https://community.alfresco.com/community/ecm/blog/2016/11/23/create-and-edit-site-customization pero no explica exactamente lo que quiero.
Agradecería que si alguien sabe cómo hacerlo me lo pudiera indicar o referenciarme a otra web en la que se explique la solución al problema que he señalado más arriba en negrita.
Muchas gracias
Hola:
En mi caso esa customización la realicé extendiendo el fichero create-site.js (que está originalmente por debajo del WEB-INF de share):
/opt/alfresco512/tomcat/shared/classes/alfresco/web-extension/site-webscripts/org/alfresco/modules/create-site.js
y cambiando la siguente variable a:
model.defaultVisibility = "PRIVATE";
Saludos.
--C.
Hola Cesar,
Muchas gracias por responderme rápido, ayer y hoy he probado lo que has comentado pero tampoco funciona.
Quiero explicarte lo que he hecho:
1- He creado el siguiente fichero XML de nombre "create-site-extensions.xml" y también he creado el directorio: C:\Alfresco\tomcat\webapps\share\WEB-INF\classes\alfresco\web-extension\site-data\extensions\create-site-extensions.xml
<extension>
<modules>
<module>
<id>Create site private</id>
<version>1.0</version>
<auto-deploy>true</auto-deploy>
<customizations>
<customization>
<targetPackageRoot>org.alfresco.modules</targetPackageRoot>
<sourcePackageRoot>org.alfresco.create.modules</sourcePackageRoot>
</customization>
</customizations>
</module>
</modules>
</extension>
2- He comprobado con http://localhost:8080/share/page/modules/deploy y me ha salido "Create site private (Version 1.0)"
3- He creado el fichero personalizado "create-site.get.js", el directorio: C:\Alfresco\tomcat\webapps\share\WEB-INF\classes\alfresco\web-extension\site-webscripts\org\alfresco\create\modules\create-site.get.js y he cambiado la variable "PUBLIC" por "PRIVATE"
var sitePresets = [{id: "site-dashboard", name: msg.get("title.collaborationSite")}];
model.sitePresets = sitePresets;
model.defaultVisibility = "PRIVATE";
Al final, desafortunadamente, no selecciona la opción de privado por defecto en la ventana de "crear un sitio".
No sé si me faltaría algún paso adicional.
Muchas gracias.
Following the blog post you shared, I started looking at the documentation and I found the widget id you need to change is CREATE_SITE_FIELD_VISIBILITY in the widgetsForCreateSiteDialog array
Search for the ids here JSDoc: Source: services/SiteService.js
You will see how they are defined, and following the blog post, you will be able to apply the techniques required to change that.
Hi Douglas
Thanks for replying very fast, yesterday and today I tried what you said but it does not work.
But I read a blog https://community.alfresco.com/community/ecm/blog/2016/11/23/create-and-edit-site-customization but I don´t understand it well because it does not explain it exactly.
I want to explain you what I did:
1- I downloaded a java file "HeaderCustomization.jar", a pre-built extension from: Alfresco-Share-Extensions/HeaderCustomization.jar at master · draperd/Alfresco-Share-Extensions · Gi... and I kept it in the directory: C:\Alfresco\tomcat\webapps\share\WEB-INF\classes\alfresco\web-extension\HeaderCustomization\HeaderCustomization.jar
2- I created the following XML file named "share-header-customization.xml" and I also created the directory C:\Alfresco\tomcat\webapps\share\WEB-INF\classes\alfresco\web-extension\HeaderCustomization\alfresco\site-data\extensions\share-header-customization.xml
<extension>
<modules>
<module>
<id>Share Header Customization</id>
<auto-deploy>true</auto-deploy>
<evaluator type="default.extensibility.evaluator"/>
<customizations>
<!-- Target the header in legacy Share pages -->
<customization>
<targetPackageRoot>org.alfresco</targetPackageRoot>
<sourcePackageRoot>org.alfresco.share.pages.customizations</sourcePackageRoot>
</customization>
<!-- Target full Aikau Share pages -->
<customization>
<targetPackageRoot>org.alfresco.share.pages</targetPackageRoot>
<sourcePackageRoot>org.alfresco.share.pages.customizations.share.header</sourcePackageRoot>
<alwaysApply>
<webscript>share-header</webscript>
</alwaysApply>
</customization>
</customizations>
</module>
</modules>
</extension>
3- I checked it with http://localhost:8080/share/page/modules/deploy and it got "default.extensibility.evaluator"
4- I created the customized file "share-header.get.js", the directory: C:\Alfresco\tomcat\webapps\share\WEB-INF\classes\alfresco\web-extension\site-webscripts\org\alfresco\share\pages\customizations\share\header\share-header.get.js and I put the new value:
value: "PRIVATE",
/* global widgetUtils */
var siteService = widgetUtils.findObject(model.jsonModel, "id", "SITE_SERVICE");
if (siteService && siteService.config)
{
siteService.config.widgetsForCreateSiteDialog = [
{
id: "CREATE_SITE_FIELD_VISIBILITY",
name: "alfresco/forms/controls/RadioButtons",
config: {
fieldId: "VISIBILITY",
label: "create-site.dialog.visibility.label",
name: "visibility",
value: "PRIVATE",
optionsConfig: {
fixed: [
{
label: "create-site.dialog.visibility.public",
description: "create-site.dialog.visibility.public.description",
value: "PUBLIC"
},
{
label: "create-site.dialog.visibility.moderated",
description: "create-site.dialog.visibility.moderated.description",
value: "MODERATED"
},
{
label: "create-site.dialog.visibility.private",
description: "create-site.dialog.visibility.private.description",
value: "PRIVATE"
}
]
}
}
}
];
}
I rebooted the server, at the end, unfortunately, it does not select the default private option in the "create a site" window. I don't know if maybe I am missing an additional step. Could you please help me?
Thank you so much
You should try the Aikau tutorial in order to understand how it works.
Aikau/About.md at master · Alfresco/Aikau · GitHub
Once you understand it, you will be able to do the change you need.
Hi Douglas
Thanks for replying, I will read it later, Let's see if I am lucky. :-)
Buenas tardes a todos,
He conseguido hacer funcionar!!, he pillado un problema de tontería, bueno he hecho lo mismo, paso a paso, de este blog "https://community.alfresco.com/community/ecm/blog/2016/11/23/create-and-edit-site-customization " solo lo he modificado en el archivo share-header.get.js, el directorio C:\Alfresco\tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\share\pages\customizations\share\header\
/* global widgetUtils */
var siteService = widgetUtils.findObject(model.jsonModel, "id", "SITE_SERVICE");
if (siteService && siteService.config)
{
siteService.config.widgetsForCreateSiteDialogOverrides = [
{
id: "CREATE_SITE_FIELD_VISIBILITY",
name: "alfresco/forms/controls/RadioButtons",
config: {
fieldId: "VISIBILITY",
label: "create-site.dialog.visibility.label",
name: "visibility",
value: "PRIVATE"
}
}
];
}
Reiniciar el servidor y funciona! ya esta!!
Que bueno que funciona, pelo usted no debería poner el archivo en la carpeta Share.
Usted debería utilizar extension-module
Ah vale vale, he sacado esos archivos y los he puesto en el directorio de Shared, funciona!!
Gracias por avisarme :-)
Discussions about Alfresco Content Services and Alfresco Process Services in Spanish
Related:
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.