Friday, June 13, 2014

Boletin de seguridad MS14-022 para SharePoint 2007, 2010 y 2013

Boletin de seguridad MS14-022 para SharePoint 2007, 2010 y 2013 

Ayer,  Microsoft liberó el boletin de seguridad MS14-022 para proteger a los servidores SharePoint 2007, 2010 y 2013 contra Remote Code Execution. Este KB es del tipo Windows Update Critico.
Este update no es como los usuales Windows Update, por lo que requiere ejecutar PSConfig (SharePoint Configuration Wizard) despues de instalarlo.
Vayan planeando instalar el KB y luego el PSConfig despues.
Van a encontrar mas informacion en el siguiente link: http://support.microsoft.com/kb/2952166
Saludos

Labels: , ,

Wednesday, February 29, 2012

New updates(Feb 2012 CU) for WSS 3.0 and MOSS 2007

 

WSS 3.0

Feb 2012 CU
Version:12.0.6658.5000
Link:2597959

 

MOSS 2007

Feb 2012 CU
Version:12.0.6658.5000
Link:2597958

Labels: , , , ,

Wednesday, June 08, 2011

Just a reminder about Sharepoint Migration tools vendors



Labels: , , ,

Tuesday, July 06, 2010

Sharepoint Certified x 4

I got my fourth Sharepoint Microsoft Certified Technology Specialist (MCTS).



Now I am certified in:


Labels: , ,

Monday, April 12, 2010

Adding a Sharepoint footer (globally)

GOAL

I recently wanted a portal/sites wide footer for my SharePoint installation. I wanted this to affect the SPS portal and every WSS site without my needing to modify any of the .aspx pages that come with SharePoint.

RESEARCH

I found a great blog article on creating a footer with various means.

danielmcpherson - How To Create A Footer

Read the article and you may come to the same conclusion that the "3. DHTML and Stylesheet" solution is the most compelling, requiring no changes other than style sheet. Unfortunately this technique only works on IE due to HTC.

This effort underway which may help, but I was unable to graft into my scenario:

Scott Galloway - Use HTC within Mozilla!

I was convinced that the DOM script within the HTC was going to ultimately cause an incompatibility, so I scrapped the stylesheet-only idea.

SOLUTION

I ultimately created an HttpModule that I plugged into the site to put a footer on every dynamic page in the virtual directory. This "filter" would look for a </body> tag within any HTML content before it sent it to the user, and inserts my footer code. To make it more "style-sheet like," I decided to insert a javascript reference so that the content of the footer could be maintained by a separate file.

The trick is to create an IHttpModule implementation that installs a customized Stream filter to capture, watch and manipulate the text. Unfortunately stream needs to implement Stream and all it's methods so that you can override the Stream.Write(byte[] data, int offset, int count) as well as optionally Stream.Close(), Stream.Flush() or anything else you want.

I chose to capture all data pushed into Stream.Write(), and modify/output it only on Stream.Close(), with special attention on the destructor to make sure Stream.Close() was actually called.

Interesting excerpts:

public class MyFooterModule : IHttpModule
{
public MyFooterModule() {}
public string ModuleName { get { return "MyFooterModule"; } }
public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(context_BeginRequest);
}
private void context_BeginRequest(object sender, EventArgs e)
{
HttpContext context = ((HttpApplication)sender).Context;
context.Response.Filter = new MyFooterFilter(context.Response.Filter, context);
}
public void Dispose() {}
}
public class FooterFilter : Stream {
public const string FOOTER_HTML = "<script src=\"/Elements/Footer.js\"></script>";
public const string BEFORE_REGEX = @"</body>\s*</html>";
protected byte[] mycache = null;
public override void Close() {
if (mycache != null)
{
string buffer = System.Text.UTF8Encoding.UTF8.GetString(mycache, 0, mycache.Length);
Regex regex = new Regex(BEFORE_REGEX, RegexOptions.IgnoreCase);
Match match = regex.Match(buffer);
if ((match != null) && match.Success)
{
StringBuilder newBuffer = new StringBuilder(buffer.Length + FOOTER_HTML.Length);
newBuffer.Append(buffer.Substring(0, match.Index;));
newBuffer.Append(FOOTER_HTML);
newBuffer.Append(buffer.Substring(match.Index;));
mycache = MakeByteArrayFromString(newBuffer.ToString());
}
BaseStream.Write(mycache, 0, mycache.Length);
}
base.Close();
}
}


When you get to the installation, consider signing the assembly, and NOT putting it into the GAC, or resorting to setting web.config to Full trust. In the meantime, do whatever it takes to make the following line work in your web.config file:



    <add name="FooterModule" type="MyNameSpace,myassembly"/>
</httpModules>


You will have to put the assembly in the site's bin directory. Also put it into the layouts bin directory if you want to have the footer appear in the _layouts/1033/*.aspx pages.



By installing this footer module into the default web site's web.config file, every portal and site .aspx page will be affected. Making the same modification to the layouts virtual directory will add the footer to the _layouts/1033/*.aspx pages, but some will look undesirable such as the rich text editor. As far as I've found, no pages actually break using this technique the the provided regular expression during content manipulation.



I heard that this type of filtering does not properly adjust the Content-Length header, which should be a problem, but I have not seen any ill effects yet.



 



This was an old post on MindsharpBlogs that unfortunately is not more online.

Labels: , , ,

Thursday, November 05, 2009

Double Certified!

I got my second Sharepoint Microsoft Certified Technology Specialist (MCTS).


Now I am certified in:

Labels: ,

Thursday, June 25, 2009

Social Sharepoint at Electronic Arts

Electronic Arts (EA) is a leader in entertainment software, producing some of the world’s best-known games including The Sims and Medal of Honor. To stay on top in a highly competitive industry, EA must drive a rapid and increasing pace of product development. At the same time, the company works hard to maintain a creative, people-focused culture. As EA grew to thousands of employees and offices around the world, it became challenging to share ideas and expertise across the organization. It also grew more difficult to integrate new employees into the company’s distinctive culture. EA developed a solution called EA People based on Microsoft® Office SharePoint® Server 2007. Starting with the core functionality of the platform, EA heavily customized the user interface to make the most of the distinctive culture and skills of EA.

Employees can quickly find colleagues with needed expertise or experience, reducing the need to duplicate work.
Communities for new hires help them find connections and information they need to become productive more quickly.
Features like the ability to post personal information and images on My Sites and see where colleagues are in the organization lend to social cohesion, enhancing employees’ ability to work closely together even when they are physically remote.



Sharepoint Social Computing

Labels: , ,

Wednesday, October 31, 2007

Making Document Libraries More Accessible: Scripting Network Places and Network Locations

That is a very interesting and useful article i found. Enjoy it


Focused on the integration between Microsoft Office applications and SharePoint, I discussed options for making it easier for users to get to their document libraries. Expecting them to type a long URL in the File Open or File Save dialog boxes isn't realistic. I mentioned that by putting network places (Windows XP) and network locations (Windows Vista) in strategic locations, you can give users a much easier way to navigate to their libraries.

To make a long story short, network places and network locations are the same thing (Vista just had to rename them). They're the beautiful love child of a shortcut and a mapped drive. They're born in the My Network Places folder (XP) or in the Computer folder (Vista), but they can be moved anywhere, like a shortcut. Also like a shortcut, they can have descriptive, friendly names. Like a mapped drive, they appear as a folder in the Windows Explorer folder tree, allowing users to expand their contents.
Network places/locations are, in my opinion, one of the most useful UI elements in existence--and one of the most underutilized. Create network places/locations not just to SharePoint document libraries, but also to regular shared folders needed by users. I suggest putting network places/locations to commonly used targets on the desktop, and then putting other network places/locations in the My Network Places or Computer folder. But you can put them anywhere--even in users' (My) Documents folder or in the root of their user profile (which is great for Vista).
Here's what I recommend:
1. Determine which network folders (SharePoint document libraries and shared folders) are accessed by a user.
2. Create network places/locations that target those folders.

  • Create network places on XP in the My Network Places folder.
  • Create network locations in Vista by opening Computer, right-clicking in an empty area, and choosing Add A Network Location.
  • For SharePoint document libraries, the "target" should be the UNC to the document library, in the form \\ server \ site \[ subsite \]library, or the URL, in the form http:// server / site /[ subsite /] library . Experiment to determine what works best for your clients--there are differences between Vista and XP in how they respond to library addresses. The actual location where the network places/locations are created is the Nethood folder: %userprofile%\Nethood in XP, or in Vista %userprofile%\AppData\Roaming\Microsoft\Windows\Network Shortcuts.
  • Network places/locations in the Nethood folder are shown in the My Network Places folder in XP. In Vista, the network locations appear in two places: in the Network Locations group in the Computer folder and in the Network Shortcuts folder.
3. Organize the network places/locations to make them easily accessible.
  • You might choose to put the most commonly used network places/locations on the desktop, in the [My] Documents folder or (on Vista) in the root of the user's profile, which can be accessed by clicking the user name in the Start menu.
  • Less commonly used network places can be left in the Nethood folder.
  • When a user chooses the Open or Save command, Office 2003 & Office 2007 start a user in the last folder they were accessing, or in the (My) Documents folder. A user can click My Network Places if they're running XP or Desktop (or Computer) if they're running Vista and, from there, it's one more click to the document library if you've placed their network places/locations there. Interestingly, Network Shortcuts is not in the "links" by default on a Vista client. You can resolve this by adding a shortcut to the Nethood folder into the user's Links folder.
  • When an Office 2007 user chooses the Publish to Document Management Server command, the dialog box that appears is focused on the My Network Places (XP) or Network Shortcuts folder (Vista). The "Desktop" folder is one click away in the dialog box. That would suggest that the Nethood folder or the Desktop would be good places for network places/locations.

4. Disable XP's default behavior to automatically create network places. XP had an annoying habit of adding network places automatically, which fills up the Network Places folder with junk, and (I think) was one of the reasons why a lot of enterprises never took advantage of this great feature. To disable the automatic creation of network places, use Group Policy settings: User Configuration \ Administrative Templates \ Desktop \ Do not add shares of recently opened documents to My Network Places.
Finally, a number of users asked if it's possible to script the creation of network places/locations to speed deployment and management of network places. The answer is, "Yes!" The script follows at the end of this newsletter.
Until next time, happy SharePointing!
Dan Holme
dan h [at] (intelliem dot toplevel commercial domain)

' Create a network place (XP) or network location (Vista)

Option Explicit

' Generic objects - can be moved to global part of script

Dim WSHShell, FSO

Set WSHShell = WScript.CreateObject("WScript.Shell")

Set FSO = CreateObject("Scripting.FileSystemObject")

Dim sFolderPath, sTargetPath

' Create the network places - THIS IS THE ONLY BLOCK OF THE SCRIPT THAT YOU SHOULD NEED TO CHANGE

' Example A: a document library network place/location created in the Nethood folder

sFolderPath = WSHShell.SpecialFolders("NetHood") & "\" & "Expense Reports Document Library"

sTargetPath = "\\sharepoint.contoso.com\finance\expensereports"

CreateNetworkPlace sFolderPath, sTargetPath

sFolderPath = WSHShell.SpecialFolders("Desktop") & "\" & "Departmental Shared Folder"

sTargetPath = "\\server01\data$\departments\finance"

CreateNetworkPlace sFolderPath, sTargetPath

' This routine will create a network place

' which is actually a read only folder

' containing a regular shortcut named target.lnk and

' a desktop.ini file with specific contents

Sub CreateNetworkPlace(sFolderPath, sTargetPath)

Dim oTextFile, oFolder, oShortcut

' Create the folder and make it read only (required for Network Place)

If FSO.FolderExists(sFolderPath) Then

FSO.DeleteFolder sFolderPath, True

End If

' Create the folder

Set oFolder = FSO.CreateFolder(sFolderPath)

' Read-only attribute

oFolder.Attributes = 1

' Create the shortcut to the target inside the folder

Set oShortcut = WSHShell.CreateShortcut(oFolder.Path & "\target.lnk")

oShortcut.TargetPath = sTargetPath

oShortcut.Save

' Create the Desktop.ini file which makes it a Network Place and assigns the icon

Set oTextFile = oFolder.CreateTextFile("Desktop.ini", True)

oTextFile.WriteLine "[.ShellClassInfo]"

oTextFile.WriteLine "CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}"

oTextFile.WriteLine "Flags=2"

oTextFile.WriteLine "ConfirmFileOp=0"

' 1 displays a warning that this is a system folder when moving, deleting, renaming a system folder

' 0 avoids the warnings

oTextFile.Close

End Sub

Labels: