Friday, November 7, 2008
My first experience with Subversion
On the Subversion server, I did:
- Create a folder for my repository, and
- Did TortoiseSVN “Create repository here …” on the folder.
This should be the equivalent of doing DOS> svnadmin create (path to the folder).
And on my PC,
- Create a folder structure in a temporal location, in the way that I want to organize my projects like below.
Category1\ Project1-1\ trunck
branches
tags
Project1-2\ trunk
branches
tags
Category2\ Project2-1\ trunk
branches
tags
etc.
- Then, import those Categories, specifying the repository’s URL i.e. http://(svn server)/svn/(repository)/.
I wanted to organize projects in categories in one repository, but seems they are igonored when I imported.
What created in the repository are only the projects, in flat structure, no categories…
Then, finally I import my VisualStudio solutions and projects as follows, always on my PC.
For each,
- Import the VS solution, specifying this time URL of the project’s trunk folder i.e. http://(svn server)/svn/(repository)/(project)/trunk.
# my categories were completely ignored…
Here is how to make changes into those projects, and save back into svn.
- First, I need to checkout the VS project from svn, into an empty folder of the name of the project.
# I can not make the change directly into the project from which I did the intial import.
- Then, make whatever modifications I need to do.
- Next, I could verify if nobody else has changed the project in the meantime, with check for modifications, or update.
- Finally, I commit the project.
Tuesday, October 7, 2008
Variations stopped
I suddenly realized that the Variations has stopped copying sites and pages from the source to the targets. No recent entries in the log…
Looked into the timer job status and difinition to find that nothing for this particular web application.
I stopped it once intentionally. Unchecked the “Automatic Creation” option. Then I was believing that I had started it again by checking it back.
Found this blog entry http://www.objectsharp.com/cs/blogs/max/archive/2008/02/25/missing-timer-job-definitions-after-sharepoint-move.aspx.
Although what triggerred it is different, the situation is the same. The jobs have disappearred.
I created a “cheating” publishing site collection in the web application in question. The jobs are back. Variations started again.
Looked into the timer job status and difinition to find that nothing for this particular web application.
I stopped it once intentionally. Unchecked the “Automatic Creation” option. Then I was believing that I had started it again by checking it back.
Found this blog entry http://www.objectsharp.com/cs/blogs/max/archive/2008/02/25/missing-timer-job-definitions-after-sharepoint-move.aspx.
Although what triggerred it is different, the situation is the same. The jobs have disappearred.
I created a “cheating” publishing site collection in the web application in question. The jobs are back. Variations started again.
Wednesday, October 1, 2008
FlexListViewer
http://blogs.infosupport.com/porint/archive/2006/08/15/9865.aspx
Have you ever wanted to have a list presented on a page, which resides in a site different from where you have the list?
I believe the list and view are one of the big selling points of Sharepoint. I like them very much. On the contrary, I do not like the Content Query Web Part. Out of question.
Our site is of multi-lingual. We use the Variations technique. Though there are many points of it that I am not happy. This, I believe is one of the biggest shortcomings.
If you say to your users that they have to manage a separate list for each different language, they would laugh at you.
FlexListViewer is my saviour. It allow to have a view displayed in the other site than the one the list belongs to.
Better even, the source code is available. There was a small point of it that does not really fit to our need. We are in the usual, stagin -> internet facing setting. We prepare pages in the staging, and the Content Deployment pushes them to the internet facing site. The out-of-box FlexListViewer, the view URL needs to be a full URL, starting with http://hostname. But in our case, that changes, in the course of deployment. So, do not want to really specify any host.
Thanks to the developper, who made the source available. I modified it so if the specified URL starts with “/”, it assumes the host it is on.
Have you ever wanted to have a list presented on a page, which resides in a site different from where you have the list?
I believe the list and view are one of the big selling points of Sharepoint. I like them very much. On the contrary, I do not like the Content Query Web Part. Out of question.
Our site is of multi-lingual. We use the Variations technique. Though there are many points of it that I am not happy. This, I believe is one of the biggest shortcomings.
If you say to your users that they have to manage a separate list for each different language, they would laugh at you.
FlexListViewer is my saviour. It allow to have a view displayed in the other site than the one the list belongs to.
Better even, the source code is available. There was a small point of it that does not really fit to our need. We are in the usual, stagin -> internet facing setting. We prepare pages in the staging, and the Content Deployment pushes them to the internet facing site. The out-of-box FlexListViewer, the view URL needs to be a full URL, starting with http://hostname. But in our case, that changes, in the course of deployment. So, do not want to really specify any host.
Thanks to the developper, who made the source available. I modified it so if the specified URL starts with “/”, it assumes the host it is on.
Lock down the Internet facing Sharepoint site
There is such a command, but this post is not about that. It did not seem to me what I want.
I want to “lock down” the web site so nobody including me can modify it directly. We use the Content Deployment which pushes what we prepare, permission settings as well as contents, from the staging site to the internet facing site. So the modification should happen only at the staging site.
I said we copy the permissions. Our web site is very di-centralized. Every part has own group of people managing it. The management includes “targetting audiences”, restricting access in other words.
The solution I found is the “Policy for Web application”. It allows to say “Deny Write” for everybody.
This is good. Now even the site collection administrators can not modify it.
However then found that even the user used for the Content Deployment can not write into…
Then the solution found is to Extend the Web application, and define Internet zone for the actual service, Denying Write for everybody, while keeping the Default zone still writable.
I want to “lock down” the web site so nobody including me can modify it directly. We use the Content Deployment which pushes what we prepare, permission settings as well as contents, from the staging site to the internet facing site. So the modification should happen only at the staging site.
I said we copy the permissions. Our web site is very di-centralized. Every part has own group of people managing it. The management includes “targetting audiences”, restricting access in other words.
The solution I found is the “Policy for Web application”. It allows to say “Deny Write” for everybody.
This is good. Now even the site collection administrators can not modify it.
However then found that even the user used for the Content Deployment can not write into…
Then the solution found is to Extend the Web application, and define Internet zone for the actual service, Denying Write for everybody, while keeping the Default zone still writable.
Friday, September 5, 2008
Need to switch off local Firewall to allow passive mode FTP?
With IIS7, it is possible to specify a data port range of passive FTP.
This should be a good news for some Firewall administrators.
# I do not know if is was already possible with IIS6. I have never tried to have a serious FTP service on a Windows box.
However, I have the impression that we can not open a range of ports with the Windows local firewall.
Ridiculously, you can only specify a single number…
OK, then what about adding a program to the exception? The deamon process servicing FTP.
You know? With 2008, it appears that many services are running with just one executable, SVCHOST.EXE.
So for example,
C:\>tasklist /SVC
Image Name PID Services
============================================
…
svchost.exe 2880 ftpsvc
…
is the one for FTP I think.
But then if I try to add it to the exception, the system complains. OK, understand, it is almost the same as switching the firewall off…
So, after all this, my conclusion for the moment is that we switch off the local firewall to allow (default for many FTP clients I think) FTP Passive mode.
Follow-up on October 1, 2008:
Found a commnad to issue to “Activate firewall application filter for FTP (aka Stateful FTP) that will dynamically open ports for data connections”.
http://blogs.iis.net/jaroslad/archive/2007/09/29/windows-firewall-setup-for-microsoft-ftp-publishing-service-for-iis-7-0.aspx
This should be a good news for some Firewall administrators.
# I do not know if is was already possible with IIS6. I have never tried to have a serious FTP service on a Windows box.
However, I have the impression that we can not open a range of ports with the Windows local firewall.
Ridiculously, you can only specify a single number…
OK, then what about adding a program to the exception? The deamon process servicing FTP.
You know? With 2008, it appears that many services are running with just one executable, SVCHOST.EXE.
So for example,
C:\>tasklist /SVC
Image Name PID Services
============================================
…
svchost.exe 2880 ftpsvc
…
is the one for FTP I think.
But then if I try to add it to the exception, the system complains. OK, understand, it is almost the same as switching the firewall off…
So, after all this, my conclusion for the moment is that we switch off the local firewall to allow (default for many FTP clients I think) FTP Passive mode.
Follow-up on October 1, 2008:
Found a commnad to issue to “Activate firewall application filter for FTP (aka Stateful FTP) that will dynamically open ports for data connections”.
http://blogs.iis.net/jaroslad/archive/2007/09/29/windows-firewall-setup-for-microsoft-ftp-publishing-service-for-iis-7-0.aspx
Hide Root web from Breadcrumb navigation
I do not think I am the only one who suffered from this.
If you use the Variations technique to do a multi-lingual site and you want to have a Breadcrumb navigation there.
Then, what you get is: root web > Home > site1 …
But actually you do not want the “root web” AT ALL.
With the Variations, it is just a redirection to one of the Variations root, depending on language setting of the user.
If I have my PC setup language being to French, I get: root web > Accueil > site1 … # “Accueil” means “Home”. It is our top page for French speakers.
So to me, the “root web” appearing there is completely stupid.
I thought it is an everybody’s problem but could not find anybody have come to solve it. I needed to find one myself. Here it is.
I extended the builtin PortalSiteMapProvider, overriding its method GetParentNode() so it returns null for those Variations root node; Home, Accueil etc.
If you use the Variations technique to do a multi-lingual site and you want to have a Breadcrumb navigation there.
Then, what you get is: root web > Home > site1 …
But actually you do not want the “root web” AT ALL.
With the Variations, it is just a redirection to one of the Variations root, depending on language setting of the user.
If I have my PC setup language being to French, I get: root web > Accueil > site1 … # “Accueil” means “Home”. It is our top page for French speakers.
So to me, the “root web” appearing there is completely stupid.
I thought it is an everybody’s problem but could not find anybody have come to solve it. I needed to find one myself. Here it is.
I extended the builtin PortalSiteMapProvider, overriding its method GetParentNode() so it returns null for those Variations root node; Home, Accueil etc.
Labels:
Breadcrumb navigation,
CMS,
MOSS,
Sharepoint,
Variations
Wednesday, July 9, 2008
User security information cannot be properly imported without setting UserInfoDateTime option to ImportAll.
I setup a Content Deployment between my staging and production publishing sites, and got this warning.
For the Content Deployment path, I said All to Security Information. I want to deploy security information (such as ACLs, roles, and membership). This is part of our requirements.
Also, unchecked Deploy user names, following http://technet.microsoft.com/en-us/library/cc263468.aspx.
It reads “… to protect the identities of your authors, disable the Deploy user names setting when you configure the content deployment path.”
Then, it turned out that the above mentioned error, or warning comes from this.
I think I was luckly to find http://msdn.microsoft.com/en-us/library/aa981161.aspx.
The title does not sound relevent, but in the code sample, you see:
// Retain author name during import; change if needed
importSettings.UserInfoDateTime = SPImportUserInfoDateTimeOption.ImportAll;
Why in order to “Retain author name during import”, we need to set UserInfoDateTimeOption to All… Do not ask me…
So I check the Deploy user names, then voila, the warning is gone.
For the Content Deployment path, I said All to Security Information. I want to deploy security information (such as ACLs, roles, and membership). This is part of our requirements.
Also, unchecked Deploy user names, following http://technet.microsoft.com/en-us/library/cc263468.aspx.
It reads “… to protect the identities of your authors, disable the Deploy user names setting when you configure the content deployment path.”
Then, it turned out that the above mentioned error, or warning comes from this.
I think I was luckly to find http://msdn.microsoft.com/en-us/library/aa981161.aspx.
The title does not sound relevent, but in the code sample, you see:
// Retain author name during import; change if needed
importSettings.UserInfoDateTime = SPImportUserInfoDateTimeOption.ImportAll;
Why in order to “Retain author name during import”, we need to set UserInfoDateTimeOption to All… Do not ask me…
So I check the Deploy user names, then voila, the warning is gone.
Subscribe to:
Posts (Atom)