How to use TFS with Pentaho (how to source control Pentaho files using Microsoft TFS) ? Is there a easy way? - visual-studio-2012

I am researching how to use Microsoft TFS as source control for Pentaho created scripts / files. I am not that familiar with Pentaho but do have some experience with TFS. Is Github the answer as a intermediate hop ? Thanks.

Pentaho created scripts/files, seems you handle these files in PDI repository. If you want to use Pentaho's PDI repository and version the content in a proper source control system, this blog is what you should do to be effective.
Even though the sample is using traditional CSC such as CVS, SVN; it's similar to TFS.

Related

Pentaho 7.1 report files stored in filesystem

We are moving form Pentaho 3.8 to Pentaho 7.1, quite a some upgrade. :)
However many things has changed, so I need some help every now and then. On 3.8 we have had folder on HDD where we have had all our reports stored. I am quite used to manage this folder through SVN, so I was trying to do it same way on Pentaho 7.1 but its not working.
At first I have switched pentaho-server/pentaho-solutions/system/jackrabbit/repository.xml back from postgres to FileSystem settings.
However it did not worked. I could not find folders created through web app on HDD.
Next step, I have tried to crerate folder on HDD, located in pentaho-server/pentaho-solutions/. added also index.xmlvfile to recognize it and refreshed/restarted all I could find in pentaho, inculuding pentaho itself. Still can't see this folder in web app.
Now I am searching for possible location where to maintain those files, but there are so many possibilities, I could spend days working on it.
Can someone give me a hint or was doing something similar?
My system is Linux, and I use Community Edition of pentaho-server.
Pentaho only uses Jackrabbit for storing the repository since version 5. There is no longer a physical copy in your hard drive.
Your best shot is using CBF2 and the import/export scripts to sync the jackrabbit repository and a folder on your drive you can then sync using SVN.
CBF 2 blog post

Package a crm unmanaged solution for deployment

I am new to Dynamics CRM 2011 Development and Deployment.But recently, I need to upgrade changed web resource files (IE. Html,java script) only into the QA Environment.
The following is what I do this, currently.
export an unmanaged solution for webresource files to be updated.
use solution packager to extract the solution zip file into a working folder.
make code changes to web resource files.
pack the working folder into an unmanaged zip for deployment.
Would you please give me some suggestions about best practices to this.
How to package web resource files into an import unmanaged zip file?Any other tools?
Is there a vs template or do I need a vs solution to hold all the changes?
Thanks in advance.
I don't have an answer to your question per se. However since you are working with an unmanaged solution the most straightforward approach would be to load the solution into your UAT environment and modify the web resource files directly in the solution on UAT.

IBM Connections

I would like to ask some of you smart guys :) if it is possible to have directory structure in IBM Connections files. There is also library but i can't map it via webdav/smdb maybe it is about my information gap, but what I can is install desktop plugin ( only MS win) and then map my structure. But only files, no communities. And within files there cant be create directory in directory structure ( may i be wrong but i tried much and nothing changed my mind ). So if someone has ever experienced this before.
Can you guys help me?
While not as obvious as a File Repository like you experience in Windows Explorer. IBM Connections does enable you to use files / folders
You can find more information about the folders API at http://www-10.lotus.com/ldd/appdevwiki.nsf/xpDocViewer.xsp?lookupName=IBM+Connections+4.5+API+Documentation#action=openDocument&res_title=Working_with_folders_ic45&content=pdcontent
However, since you mentioned webdav, you may want to look at using CMIS and Apache Chemistry to access the CMIS APIs. That should give you the most flexibility in mapping your WebDav to Connections
http://chemistry.apache.org/
http://www-10.lotus.com/ldd/appdevwiki.nsf/xpDocViewer.xsp?lookupName=IBM+Connections+4.5+API+Documentation#action=openDocument&res_title=How_to_Use_Files_CMIS_APIs_with_Media_Gallery_ic45&content=pdcontent
An example of what you can do with CMIS is http://www-10.lotus.com/ldd/lcwiki.nsf/dx/Demo_Using_CMIS_Connectors_with_Lotus_Connections_Files
The Files application does not support sub folders. Sub folders are available with IBM Connections Content Manager (CCM). CCM is an additional license but supports workflow and check in check out features as well.
In addition to Matt M answer.
CCM use FileNet P8 repository to persist the files, in this case you can start to use IBM Content Navigator client with Desktop Sync options, may be it will be usefull for your requirements.

Merging Sharepoint WSP solution files

I have multiple projects/wsp solutions for my different Sharepoint webparts and event receivers. This is fine for development, however I would like to merge the resulting .wsp files into a single one for production deployment.
Is there a way to do so? I am using vsewss 1.2 only.
This is going to be painful, but to really do this correctly for production pushes you should drop vsewss 1.2, re-organize your projects inside of Visual Studio and use WSPBuilder.
WSPBuilder is great because it takes a lot of the manual work out of creating manifest, ddf and compiling the CAB.
You are going to have to do a lot of the work that vsewss is doing in the background your self. there is a artical on MSDN about the basics on creating a WSP Creating a Solution Package in Windows SharePoint Services 3.0
A WSP is a cab file that contains a manifest.xml and a file structure, it is imortant that you place files in the right location in the WSP so they are deployed to the right location in SharePoint.
I agree with JD
This is going to be painful, but to
really do this correctly for
production pushes you should drop
vsewss 1.2, re-organize your projects
inside of Visual Studio and use
WSPBuilder.
This would be a good time to restructure you code and assembly structure so as to minimise the number of assemblies you need to deploy.
If you have any Web Parts be sure to check that the Feature xml files are all corect as vsewss preparses and does text replacment befor generating its WSP files.
It commanly stores a guid in the file where a full assembly name is requierd.
If you are going to be doing a lot of SharePoint dev work it is probly worth spending a bit of time learning how the manafest.xml and rest of the WSP packages work.
I haven't seen a tool which does this, but it shouldn't be hard to create:
Unzip the wsp packages (They're just
cab files with an odd extension)
Merge the directory structures
Merge the manifest.xml files
Zip the combined package
There is an advantage to not having all your code in a single WSP.. you can do partial deployments and you don't have all your code in a single gigantic Visual Studio Solution.
Why don't you script all WSP deployments in 1 script file? It seems a far more transparent solution than fiddling with the WSP itself.

What is a good deployment tool for websites on Windows?

I'm looking for something that can copy (preferably only changed) files from a development machine to a staging machine and finally to a set of production machines.
A "what if" mode would be nice as would the capability to "rollback" the last deployment. Database migrations aren't a necessary feature.
UPDATE: A free/low-cost tool would be great, but cost isn't the only concern. A tool that could actually manage deployment from one environment to the next (dev->staging->production instead of from a development machine to each environment) would also be ideal.
The other big nice-to-have is the ability to only copy changed files - some of our older sites contain hundreds of .asp files.
#Sean Carpenter can you tell us a little more about your environment? Should the solution be free? simple?
I find robocopy to be pretty slick for this sort of thing. Wrap in up in a batch file and you are good to go. It's a glorified xcopy, but deploying my website isn't really hard. Just copy out the files.
As far as rollbacks... You are using source control right? Just pull the old source out of there. Or, in your batch file, ALSO copy the deployment to another folder called website yyyy.mm.dd so you have a lovely folder ready to go in an emergency.
look at the for command for details on how to get the parts of the date.
robocopy.exe
for /?
Yeah, it's a total "hack" but it moves the files nicely.
For some scenarios I used a freeware product called SyncBack (Download here).
It provides complex, multi-step file synchronization (filesystem or FTP etc., compression etc.). The program has a nice graphical user interface. You can define profiles and group/execute them together.
You can set filter on file types, names etc. and execute commands/programs after the job execution. There is also a job log provided as html report, which can be sent as email to you if you schedule the job.
There is also a professional version of the software, but for common tasks the freeware should do fine.
You don't specify if you are using Visual Studio .NET, but there are a few built-in tools in Visual Studio 2005 and 2008:
Copy Website tool -- basically a visual synchronization tool, it highlights files and lets you copy from one to the other. Manual, built into Visual Studio.
aspnet_compiler.exe -- lets you precompile websites.
Of course you can create a web deployment package and deploy as an MSI as well.
I have used a combination of Cruise Control.NET, nant and MSBuild to compile, and swap out configuration files for specific environments and copy the files to a build output directory. Then we had another nant script to do the file copying (and run database scripts if necessary).
For a rollback, we would save all prior deployments, so theoretically rolling back just involved redeploying the last working build (and restoring the database).
We used UnleashIt (unfortunate name I know) which was nicely customizable and allowed you to save profiles for deploying to different servers. It also has a "backup" feature which will backup your production files before deployment so rollback should be pretty easy.
I've given up trying to find a good free product that works.
I then found Microsoft's Sync Toy 2.0 which while lacking in options works well.
BUT I need to deploy to a remote server.
Since I connect with terminal services I realized I can select my local hard drive when I connect and then in explorer on the remote server i can open \\tsclient\S\MyWebsite on the remote server.
I then use synctoy with that path and synchronize it with my server. Seems to work pretty well and fast so far...
Maybe rsync plus some custom scripts will do the trick.
Try repliweb. It handles full rollback to previous versions of files. I've used it whilst working for a client who demanded its use and I;ve become a big fan of it, partiularily:
Rollback to previous versions of code
Authentication and rules for different user roles
Deploy to multiple environments
Full reporting to the user via email / logs statiing what has changed, what the current version is etc.

Resources