<div dir="ltr">Gracias por la respuesta Joaquin, lo que he estado haciendo por el momento es copiar la plantilla en la home de los usuarios usando un script pero cada vez que abren un reporte se crea un proyecto nuevo. Saludos<br></div><br><div class="gmail_quote"><div dir="ltr">El mar., 25 de abr. de 2017 a la(s) 13:10, Joaquin Jose del Cerro Murciano &lt;<a href="mailto:jjdelcerro@gvsig.org">jjdelcerro@gvsig.org</a>&gt; escribió:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">El 25 de abril de 2017, 18:45, Alex Irmel Oviedo Solis <span dir="ltr">&lt;<a href="mailto:alleinerwolf@gmail.com" target="_blank">alleinerwolf@gmail.com</a>&gt;</span> escribió:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div>Buenos dias, ¿habra alguna de crear un proyecto nuevo usando otro como plantilla desde un script?<br><br></div>La pregunta va en el sentido de que tengo unos proyectos preconfigurados que no quisiera que los usuarios modifiquen accidentalmente.<br><br></div></div></blockquote></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>La respuesta simple... no.<br>Pero no todo lo que queremos es simple, asi que si nos complicamos la vida se podria hacer algo.<br>Va a depender de lo complicado que sea al proyecto o de lo que realmente quieres hacer.<br><br>Vamos a ver la opcion mas simple... y algo bruta.<br><br>Te haces una herramienta que sea crear proyecto desde plantilla.<br>Por ejemplo podria presentar una ventana con:<br>- Lista de plantillas.<br>- boton para seleccionar la carpeta donde crear el proyecto.<br><br>Y que se encargue de copiar el proyecto (shutil.copytree) desde su ubicacion en las plantillas a la carpeta que ha seleccionado el usuario, y luego lo abre desde esa ubicacion.<br><br>Dependiendo del tipo de capas que haya en el proyecto y su volumen puede ser &quot;costoso&quot;.<br>Capas locales en disco como shapes o tiff grandes podria significar que se copian, con el coste en espacio consiguiente.<br>Capas de servicios web o BBDD no se copiarian. <br>Depende del tipo de proyecto puede ser aceptable o no.<br><br>Si no quieres copiar los datos de las capas la cosa se complica un poco, pero tambien tendrias algunas alternativas.<br>La mas simplona... manipular, con delicadeza, el gvsproj. El fichero de proyecto es un zip con un xml dentro.<br>Lo mas simple seria, por ejemplo, una vez lista la plantilla, sacas el xml, y en la ruta de los ficheros que vayan a estar en un posicion fija respecto a la instalacion de gvSIG, metes alguna cadena como &quot;@@#{RUTA1}#@@/pp.shp&quot;, guardas el xml y lo vuelves a meter en el zip. El proyecto asi no se podra abrir con gvSIG, pero tras el proceso de copia y antes de abrir el proyecto,en tu script, extraes el xml del zip, reemplazas &quot;@@#{RUTA1}#@@&quot; por la ruta de verdad y lo vuelves a meter en el zip. Y luego ya abres el proyecto.<br>Si lo haces asi, ten en cuenta que si los usuarios editan esas capas modifican los datos de la plantilla.<br><br>Se me ocurra alguna otra opcion mas... aprovechando la opcion del DataManager (setOpenErrorHandler) de que te avise cuando no puede abrir un fichero. Mas limpio pero bastante mas complicado de implementar, pero como no se ha usado nunca para eso no se si puede ir fino.<br><br>Otra opcion...<br>podrias ver que clase de operaciones son las que no quieres que hagan tus usuarios sobre esos proyectos y ver si se pueden atrapar para que no las puedan hacer. Bastante mas constoso de programar a priori. De todos modos si tienes la lista de cosas que quieres desactivar puedo tratar de ver como se haria.<br><br>Un saludo<br>Joaquin<br><br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div></div>Saludos cordiales<br></div>
<br>_______________________________________________<br>
gvSIG_desarrolladores mailing list<br>
<a href="mailto:gvSIG_desarrolladores@listserv.gva.es" target="_blank">gvSIG_desarrolladores@listserv.gva.es</a><br>
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: <a href="https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores" rel="noreferrer" target="_blank">https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div class="m_6157514142722460408gmail_signature">--------------------------------------<br>Joaquin Jose del Cerro Murciano<br>Development and software arquitecture manager at gvSIG Team<br><a href="mailto:jjdelcerro@gvsig.com" target="_blank">jjdelcerro@gvsig.com</a><br><a href="mailto:jjdelcerro@gvsig.org" target="_blank">jjdelcerro@gvsig.org</a><br>gvSIG Association<br><a href="http://www.gvsig.com" target="_blank">www.gvsig.com</a><br><a href="http://www.gvsig.org" target="_blank">www.gvsig.org</a></div>
</div></div>
_______________________________________________<br>
gvSIG_desarrolladores mailing list<br>
<a href="mailto:gvSIG_desarrolladores@listserv.gva.es" target="_blank">gvSIG_desarrolladores@listserv.gva.es</a><br>
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: <a href="https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores" rel="noreferrer" target="_blank">https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores</a><br>
</blockquote></div>