jump to navigation

Project Server 2010 Booking Type “Committed” vs “Proposed” August 10, 2013

Posted by juanpablo1manrique in ProjectServer.
Tags:
add a comment

Cuando un gerente de proyecto asigna un recurso a una tarea, y el recurso tiene un tipo de reserva (booking type) “Proposed”, el sistema interpreta cada una de las asignaciones del recurso como un “compromiso provisional.” Cuando un gerente de proyecto asigna un recurso con una reserva tipo (booking type) “Committed”, el sistema interpreta las asignaciones como “compromisos firmes.” los gerentes de proyecto pueden cambiar el valor tipo de reserva (booking type) para cada miembro del equipo en un proyecto especifico. Como buena práctica se recomienda establecer el valor de tipo de reserva (booking type) a “Committed” para todos los recursos del grupo de recursos de empresa (Enterprise Resource Pool). Cuando un gerente de proyecto asigna a un miembro del equipo como recurso propuesto “Proposed” en un proyecto, el sistema marca todas las tareas asignadas para el recurso propuesto como asignaciones propuestas. Las consecuencias en Project Server 2010 son los siguientes:

  1. Las tareas asignadas de tipo “Proposed” no se le muestran al recurso en su lista de tareas y tampoco en su TimeSheet.
  2. Los proyectos en los que el recurso está reservado como “Proposed” no se muestran en “View Resource Availability page”, y las horas de trabajo de los recursos no se muestran para la asignación de tareas propuestas.
  3. Reservas propuestas no afectan a la disponibilidad de recursos. En consecuencia, estos no aparecen en la página Ver disponibilidad de recursos “View Resource Availability page”.
  4. Tipo de reserva (booking type) es una dimensión del cubo OLAP y está disponible para su uso en las vistas.

System.Windows.Forms.Panel Controls.Add only see first July 27, 2013

Posted by juanpablo1manrique in SharePoint.
Tags:
add a comment

Buen día amigos,

Aquí estoy realizando una aplicación Windows forms, pero en forms ciertas cosas funcionan diferente, me anime a escribir este post para todos aquellos que estamos acostumbrados a desarrollar WEB y nos encontramos con la necesidad de Hacer WindowsForms por casualidad.

Al ejecutar este código solo veía el primer control,

  • Label lbl = new Label();            
  • lbl.Text = “sdfsdasdcsddf”;            
  • Panel12.Controls.Add(lbl);
  • TextBox lbl3 = new TextBox();            
  • lbl3.Text = “1234 ABC”;            
  • Panel12.Controls.Add(lbl3);
  • Label lbl2 = new Label();                       
  • lbl2.Text = “123223”;            
  • Panel12.Controls.Add(lbl2);

Las solución para que en pantalla no se viera solo el primero fue agregar el location

  • Label lbl = new Label();
  • lbl.Text = “sdfsdasdcsddf”;
  • lbl.Location = new System.Drawing.Point(0, 0);
  • Panel12.Controls.Add(lbl);
  • TextBox lbl3 = new TextBox();
  • lbl3.Text = “1234 ABC”;
  • lbl3.Location = new System.Drawing.Point(0, lbl.Size.Height);
  • Panel12.Controls.Add(lbl3);
  • Label lbl2 = new Label();
  • lbl2.Text = “123223”;
  • lbl2.Location = new System.Drawing.Point(0, lbl.Size.Height + lbl3.Size.Height);
  • Panel12.Controls.Add(lbl2);

Happy WinForm Coding

Open HTML, FLASH, PDF files in SharePoint Library try Download July 15, 2013

Posted by juanpablo1manrique in SharePoint, SharePoint2013.
Tags:
2 comments

Hola
En estos días tuve el impedimento de poder desplegar archivos HTML, PDF, FLASH desde una librería de SharePoint, al dar click sobre un archivo HTML que estaba en una librería, me lo intentaba descargar en vez de abrirlo de una vez,

Untitled2
Una de las soluciones fue ir al central administrator y en los settings del webApplication decirle “permissive”, pero la idea no era darle “permissive” ya que esto abría un poco la seguridad del web application, así que seguí buscando y encontré la función AllowedInlineDownloadedMimeTypes (Realmente es un vector), el cual permite agregar los tipos de application que quiero que se desplieguen sobre SharePoint, el script completo quedo de la siguiente manera.

$webApp=Get-SPWebApplication http://webapplicationurl:90
$webApp.BrowserFileHandling = “strict”
$webApp.AllowedInlineDownloadedMimeTypes.Add(“application/octet-stream”)
$webApp.AllowedInlineDownloadedMimeTypes.Add(“text/html”)
$webApp.AllowedInlineDownloadedMimeTypes.Add(“application/pdf”)
$webApp.AllowedInlineDownloadedMimeTypes.Add(“application/x-shockwave-flash”)
$webApp.Update()

Para poder ver que tipo de application que quiero desplegar, me recomendaron RESTClient de Firefox el cual me dice que tipo de application es el que necesito

https://addons.mozilla.org/en-us/firefox/addon/restclient/Untitled1

PD. los archivo de tipo “application/octet-stream” igualmente no se abren en modo permissive sino que toca, colocarlo strict y agregar el tipo de application correspondiente.

Happy SharePoint,

Move sites in other database content July 6, 2013

Posted by juanpablo1manrique in SharePoint.
add a comment

En este caso vamos a mirar como mover sites entre bases de datos de contenido en el caso de Sharepoint 2010,

Lo primero es crear un archivo XML con la ubicación de los sitios que deseamos mover,

stsadm -o enumsites -url http://localhost > c:\sites.xml

Este comando enumera todos los sitios de este WebApplication, así que es necesario editarlo en notepad y eliminar los sitios que no queremos mover, y luego ejecutamos el siguiente comando,

stsadm -o mergecontentdbs -url http://localhost -sourcedatabasename WSS_Content -destinationdatabasename WSS_content_2 -operation 3 -filename c:\sites.xml

y taran,

Hack or restore sa account sql server March 18, 2013

Posted by juanpablo1manrique in SharePoint.
add a comment

Exactamente no la vamos a hackiar, vamos a elevernos permisos a ‘sysadmin’ y ahi recuperar el control de la instancia de SQL SERVER y entrar en modo Dios.

  • Iniciar consola con permisos de administración
  • cd\ para pararse en C:
  • SQLCMD –E -S ‘Domain\Account’
  • CREATE LOGIN ‘Domain\Account’ FROM WINDOWS  *
  • exec sp_addsrvrolemember @loginame=’Domain\Account’,@rolename=’sysadmin’
  • servics.msc y reiniciar el servicio, tambien se puede hacer desde la consola de administración de SQL pero es lo mismo
* Este es un paso adicional que no siempre es necesario, toca ejecutarlo en caso que no se logre entrar a la instancia, por lo general se logran entrar dado que el BUILTIN\Users siempre esta presente en todas las instancias de SQL muy pocas veces se toman el trabajo de quitarlo para asegurar la instancia. En caso de que se logre entrar a la instancia este usuario se puede crear por el management studio pero va a quedar con permisos de public y luego se corre este procedimiento por comandos para elevarle los permisos.

Esto no es exactamente Hackear la cuenta, solo es entrar con una cuenta de administrador y elevarse privilegios, para casos más extremos se puede utilizar
http://www.windowsecurity.com/articles-tutorials/misc_network_security/Hacking_an_SQL_Server.html

Saludos

Error: var logoImg = documentGetElementsByName – MoveSiteTitle February 24, 2013

Posted by juanpablo1manrique in SharePoint, SharePoint Development.
Tags: ,
3 comments

Hola Amigos

Ahora que ingresamos al mundo cross-browser, con sharepoint 2013, encontrmos que sharepoint 2010 todavia tiene algunos incovenientes, uno de ellos se me present en estos días al estar trabajando con el SharePoint recien instalado y con el Master.Page v4 que trae sharepoint por defecto, en Chrome en el momento de hacer debug se evidenciaba error en estas 2 líneas.

PlaceHolderPageTitleInTitleArea

solucion medio temporal:

En SharePoint designer se busca el PlaceHolder:PlaceHolderPageTitleInTitleArea  al abrir el master page se le dice a que visible = false

<asp:ContentPlaceHolder id=”PlaceHolderPageTitleInTitleArea” runat=”server” Visible=”false” />

Esto ya no renderiza este molesto código en sharepoint

Se intento bajar el ultimo Cumulative Update de Diciembre 2012 http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2596957

Pero esto no soluciono el problema

Asi que este place holder quedo con la propiedad visible=”false”, esta solución no me convence del todo así que seguire investigando sobre el tema, cualquier sugerencia con gusto sera recibida.

SHPludos

Reordenar las propiedades de un WebPart January 22, 2013

Posted by juanpablo1manrique in SharePoint.
add a comment

Hola Amigos

Cuando se agregan propiedades personalizadas a un WebPart las mismas quedan de ultimas.

Untitled3

  • Recordemos que al crear un VisualWEbPart siempre se crean 2 archivos WebPartMyClass y UserControlWebPartMyClass.

Estuve investigando un resto como ponerlas en el primer lugar, pero no encontre nada, esta vez san Google no me ayudo, así que toco pedirle ayuda a otro santo, a VS 2010. Me dio por sobreescribir solo a nivel de prueba el metodo, en WebPartMyClass:

public override Microsoft.SharePoint.WebPartPages.ToolPart[] GetToolParts()

Y al mirar por debug las variables en cuestion me encontre con, muy buenas noticias.

Untitled1

El metodo final quedo de la siguiente manera, y ya se ven en el orden que queria

Untitled2

Untitled4

Siempre es bueno probar override de las clases que uno tiene disponibles, haber que encuentra,

saludos

Modificar las propiedades de un WebPart sin usar el control de EditWebPart por defecto de SharePoint January 18, 2013

Posted by juanpablo1manrique in SharePoint, SharePoint Development.
Tags:
add a comment

Hola amigos

En esta oportunidad he tenido el atrevimiento de modificar las propiedades de un webPart desde un boton sin necesidad de utilizar el control de propiedades que trae por defecto SharePoint,

Recordemos que un WebPart esta dividido en 2 clases importantes una para la definición de WebPart que hereda de Microsoft.SharePoint.UI.WebParts.WebPart de ahora en adelante WebPartMyClass y otra que es un User Control ascx; en el caso de los WebPart visuales de ahora en adelante alias UserControlWebPartMyClass,

Para lograr salvar las propiedades de esta manera es necesario construir un metodo publico en WebPartMyClass de la siguiente manera


public void SaveCustomProperties(string val1, string val2)
{
this.Property1 = val1;
this.Property2 = val2;
this.SaveProperties = true;
this.SaveControlState();
}

El código dice más que mil palabras, 🙂

Y desde el evento de boton del ascx (UserControlWebPartMyClass) llamar este metodo que acabamos de construir de la siguiente manera


protected void Button1_Click(object sender, EventArgs e)
{
((WebPartMyClass)this.Parent).SaveCustomProperties(“val1”, “val2”);
}

Aqui el código de las 2 clases

— Clase WebPartMyClass

using System;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;


namespace xxxx
{
[ToolboxItemAttribute(false)]
public class Processes : WebPart
{
// Visual Studio might automatically update this path when you change the Visual Web Part project item.
private const string _ascxPath = @”~/_CONTROLTEMPLATES/yyyyy/UserControlWebPartMyClass.ascx”;


protected override void CreateChildControls()
{


Control control = Page.LoadControl(_ascxPath);
((UserControlWebPartMyClass)control).Property1 = this.Property1;
((UserControlWebPartMyClass)control).Property2 = this.Property2;
Controls.Add(control);
}


public void SaveCustomProperties(string val1, string val2)
{
this.Property1 = val1;
this.Property2 = val2;
this.SaveProperties = true;
this.SaveControlState();
}


[WebBrowsable(true), WebDisplayName(“Property1”), WebDescription(“Property1”),
Personalizable(PersonalizationScope.Shared), Category(“Custom Property”),
System.ComponentModel.DefaultValue(“”)]
public string Property1{get;set;}


[WebBrowsable(true), WebDisplayName(“Property1”), WebDescription(“Property1”),
Personalizable(PersonalizationScope.Shared), Category(“Custom Property”),
System.ComponentModel.DefaultValue(“”)]
public string Property2{get;set;}


}
}

— UserControlWebPartMyClass —


using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint.WebPartPages;


namespace xxxx
{
public partial class ProcessesUserControl : WebPartControl
{


protected void Page_Load(object sender, EventArgs e)
{
}


protected void Button1_Click(object sender, EventArgs e)
{
((WebPartMyClass)this.Parent).SaveCustomProperties(“val1”, “val2”);
}


}
}

Este post fue inspirado por esta duda

http://stackoverflow.com/questions/13654841/set-webpart-custom-properties-without-using-the-edit-web-part-interface

Register-SPWorkflowService : The underlying connection was closed January 17, 2013

Posted by juanpablo1manrique in SharePoint2013.
Tags:
2 comments

Este error me aparecio instalando Workflow 2013 SharePoint.

Register-SPWorkflowService : The underlying connection was closed: An unexpected error occurred on a receive. Client ActivityId : ee2de3e9-3f96-4a6f-96b9-321e126cc37f.

Este sucedia cuando se ejecutaba mal el commando, se arreglo utilizando la direccion completa del dominio.

Incorrecto.

Register-SPWorkflowService –SPSite “http://devPC:90/TeamSite” –WorkflowHostUri “https://devPC:12290” –AllowOAuthHttp

Correcto.
Register-SPWorkflowService –SPSite “http://devPC:90/TeamSite” –WorkflowHostUri “https://devPC.mydomain.loc:12290” –AllowOAuthHttp

Aqui puedes observer todos los detalles de la instalación

Installing and configuring workflow for SharePoint Server 2013, Step by Step

Saludos

 

Installing and configuring workflow for SharePoint Server 2013, Step by Step January 17, 2013

Posted by juanpablo1manrique in SharePoint2013.
2 comments

Hola Amigos

En estos dias estuve revisando el tema del nuevo WebApplication de Workflow de SharePoint 2013, y la configuracion del mismo es bastante diferente. cuando se intenta realizer un WF desde Designer solo se observa SharePoint 2010 disponible.

WFSharePoint2013-1

Cuando se navega en el central administrator -> Application Management -> Manage Service Applications -> Workflow Service Application se obtiene un error como:

SharePoint 2013 workflow requires a compatible workflow service configured with SharePoint such as Workflow Manager. The workflow service is either not installed or not configured. Follow this link to find out how to set up workflow.

Entonces estos son los pasos para instalar workflow sharepoint 2013

1. Tener en cuenta las consideraciones de diseño descritas en este pots: http://technet.microsoft.com/en-us/library/jj658588(v=office.15)

2A. Para realizar la configuración en un servidor aparte es necesario descargar el Workflow Manager Client [http://go.microsoft.com/fwlink/p/?LinkID=268376].

2B. En el caso en el que se va a configurar Workflow Manager en un servidor que ya posee SharePoint Server 2013, nos ahorramos el paso de descargar el Workflow Manager Client [http://go.microsoft.com/fwlink/p/?LinkID=268376] y lo podrán encontrar en, en el caso de instalarlo en los mismos servidores de la granja se debe asegurar que si se desea balancear el servicio debe estar en todos los WFE, si lo que se desea es instalarlo en un Application Server se debe instalar una sola vez, en el caso de ser un server aparte se debe instalar una sola vez.

Aqui el paso a paso de la instalación, como veran nos pide 2 puertos para sitios principales y las bases de datos que se crearán en SQL. Aqui un resumen de los datos importantes a tener en cuenta.

URL WEB   Finales Bases de Datos   en SQL
http://devPC:90/TeamSite WFInstanceManagementDB
http://DEVPC:12290  WFResourceManagementDB
http://DEVPC:12291 SbManagementDB
 SbGatewayDatabase
 SBMessageContainer01

Paso 1. Descargarlo. WorkflowManager.exe

WFSharePoint2013-2

Paso 2.

WFSharePoint2013-3

WFSharePoint2013-5

WFSharePoint2013-6

WFSharePoint2013-7

Paso 3. Buscar los binarios

x86: C:\Program Files (x86)\Workflow Manager Tools\1.0
x64: C:\Program Files\Workflow Manager Tools\1.0

WFSharePoint2013-9

WFSharePoint2013-10

WFSharePoint2013-11

WFSharePoint2013-12

WFSharePoint2013-13

WFSharePoint2013-14

WFSharePoint2013-15

WFSharePoint2013-16

WFSharePoint2013-17

WFSharePoint2013-18

WFSharePoint2013-19

3. Finalmente se debe registar el servicio desde powershell por medio de este comando

  Register-SPWorkflowService –SPSite “http://devPC:90/TeamSite “ –WorkflowHostUri “https://devPC.mydomain.loc:12290 “ –AllowOAuthHttp

Super importante el https en 12290

 

WFSharePoint2013-21

4. Los certificados digitales se instalan desde el IIS en caso de requerirse.

Despues de estos cuantos pasos ya aparece disponible el tipo de WF para SharePoint 2013

WFSharePoint2013-23

Aqui ya podemos observer una de las nuevas funcionalidades sobre SharePoint 2013, los cuales son el manejo de los estados del flujo y las transiciones entre estados

WFSharePoint2013-24

Bueno como siempre, un placer