Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
CIFS implementation for Liferay - Released Janne Hietala June 14, 2010 10:13 PM
RE: CIFS implementation for Liferay Shagul Khajamohideen March 26, 2010 4:15 AM
RE: CIFS implementation for Liferay Jorge Ferrer March 26, 2010 6:02 AM
RE: CIFS implementation for Liferay Janne Hietala March 26, 2010 6:26 AM
RE: CIFS implementation for Liferay Jorge Ferrer March 26, 2010 10:18 AM
RE: CIFS implementation for Liferay Ray Augé March 26, 2010 10:21 AM
RE: CIFS implementation for Liferay Jorge Ferrer March 27, 2010 4:52 AM
RE: CIFS implementation for Liferay Arcko Duan March 26, 2010 5:26 PM
RE: CIFS implementation for Liferay Björn Ryding March 26, 2010 5:55 PM
RE: CIFS implementation for Liferay Alexander Chow March 27, 2010 4:33 PM
RE: CIFS implementation for Liferay Janne Hietala March 29, 2010 10:35 PM
RE: CIFS implementation for Liferay Janne Hietala March 29, 2010 10:41 PM
RE: CIFS implementation for Liferay Janne Hietala June 14, 2010 10:47 AM
RE: CIFS implementation for Liferay Ace Man July 15, 2010 6:52 AM
RE: CIFS implementation for Liferay Bryan Cheung August 4, 2010 6:38 AM
RE: CIFS implementation for Liferay Claas Ruschmeyer August 19, 2010 8:38 AM
RE: CIFS implementation for Liferay Janne Hietala August 26, 2010 4:03 AM
RE: CIFS implementation for Liferay Janne Hietala August 26, 2010 4:10 AM
RE: CIFS implementation for Liferay Jignesh Vachhani February 1, 2011 3:27 AM
RE: CIFS implementation for Liferay Jonas Yuan April 14, 2010 7:50 AM
RE: CIFS implementation for Liferay Alexander Chow April 13, 2010 8:20 AM
Janne Hietala
CIFS implementation for Liferay - Released
June 14, 2010 10:13 PM
Answer

Janne Hietala

Rank: Junior Member

Posts: 94

Join Date: June 16, 2009

Recent Posts

Hi all,

We've started to develope Liferay features as addition to our own customer project development. Currently one of our projects is Liferay CIFS support. We've had lot of requests from customers either to implement better Webdav support or possibility to use CIFS to gain access to Liferay document library.

Previously we've worked on trying to integrate Alfresco and Liferay to share common JCR store but have faced quite a lot of difficulties in doing so.

Better solution was to start from fresh and implement CIFS functionality as Alfresco has. Alfresco uses previously closed source CIFS server implementation called JLAN which was recently released under GPL license.

Alfresco's description of JLAN features:

Alfresco JLAN uses a virtual file system interface that allows you to plug in your own file system implementation with the core server handling all of the network protocol exchange between the client and server. JLAN is also the only Java implementation of Window’s CIFS (Common Internet File System), in addition to supporting NFS and FTP.

Technical Specifications

Pure Java

* Pure Java implementations of CIFS, NFS and FTP server, with optional JNI code on Windows to allow the Alfresco JLAN server to run alongside the Windows file server.

High performance

* Offers the same level of performance as a native file system.

Object oriented pluggable design

* Allows a filesystem driver to be developed in stages with optional interfaces added at a later date, such as NTFS streams support.
* Many core components can be easily replaced including filesystem drivers, authentication handling, user details, shared filesystem mapping, configuration.

Enterprise authentication support

* The CIFS implementation includes support for NTLMv1, NTLMv2, NTLMSSP, SPNEGO and Kerberos/AD to allow integration into Enterprise networks.


Basically what we are currently doing is implementing our own JLAN driver to access Liferay document libarary services. We currently have working 0.1 version which uses SOAP to access Liferay API. In next version we are working directly with Jackrabbit JCR-RMI interface for more performance critical environments.

We will be releasing this functionality with documentation and open source for free use. Currently we are concentrating on CIFS functionality, but basically after JLAN driver development and integration this should also provide NFS and FTP support / connection to Liferay.

I will keep this thread updated of our development progress and releases. If someone at Liferay is intrested of this contribution, please feel free to contact me. Also any suggestions and feedback is highly appreciated!


Best regards,
Janne Hietala
Consultant, partner
Arcusys Oy
+358 (0) 40 831 42 45
janne.hietala(at)arcusys.fi
Shagul Khajamohideen
RE: CIFS implementation for Liferay
March 26, 2010 4:15 AM
Answer

Shagul Khajamohideen

Rank: Liferay Master

Posts: 759

Join Date: September 27, 2007

Recent Posts

Hi,

I think this will be a wonderful contribution and the community will appreciate your work.

Thanks,
Shagul
Jorge Ferrer
RE: CIFS implementation for Liferay
March 26, 2010 6:02 AM
Answer

Jorge Ferrer

LIFERAY STAFF

Rank: Liferay Legend

Posts: 2764

Join Date: August 31, 2006

Recent Posts

Hi Janne,

Liferay 6 will already have CIFS support. In any case I've forwarded your post to Alex Chow, who leaded this implementation so that you guys can look for ways of collaborating.
Janne Hietala
RE: CIFS implementation for Liferay
March 26, 2010 6:26 AM
Answer

Janne Hietala

Rank: Junior Member

Posts: 94

Join Date: June 16, 2009

Recent Posts

Hi Jorge,

Thanks for the information. I could not find issue for this at issues.liferay.com. Was this planned as feature of EE version or available for community also?
Jorge Ferrer
RE: CIFS implementation for Liferay
March 26, 2010 10:18 AM
Answer

Jorge Ferrer

LIFERAY STAFF

Rank: Liferay Legend

Posts: 2764

Join Date: August 31, 2006

Recent Posts

Hi Janne,

AFAIK, it will be part of Liferay 6 CE and was already included in teh preview.

A search for CMIS in issues.liferay.com returns several results but I think this is the most important: http://issues.liferay.com/browse/LPS-6885
Ray Augé
RE: CIFS implementation for Liferay
March 26, 2010 10:21 AM
Answer

Ray Augé

LIFERAY STAFF

Rank: Liferay Legend

Posts: 1171

Join Date: February 7, 2005

Recent Posts

Forgive me Jorge, but CMIS and CIFS are two wholly different things.

CIFS is the protocol implementing MS Windows File sharing.
Arcko Duan
RE: CIFS implementation for Liferay
March 26, 2010 5:26 PM
Answer

Arcko Duan

Rank: Regular Member

Posts: 202

Join Date: October 15, 2007

Recent Posts

cool
Björn Ryding
RE: CIFS implementation for Liferay
March 26, 2010 5:55 PM
Answer

Björn Ryding

Rank: Liferay Master

Posts: 582

Join Date: May 16, 2007

Recent Posts

Hi Janne,

It would be great if you could put the current SOAP version on Google Code or GitHub. I would like to try and build an integration using Hessian 2 instead of SOAP.

BTW, while JLAN 4.0 and 5.0 was released under GPL Alfresco recently shifted from GPL to LGPL and the JLAN source code in SVN is LGPL.

Cheers,
Björn
Jorge Ferrer
RE: CIFS implementation for Liferay
March 27, 2010 4:52 AM
Answer

Jorge Ferrer

LIFERAY STAFF

Rank: Liferay Legend

Posts: 2764

Join Date: August 31, 2006

Recent Posts

Arghh! My bad. Sorry Janne and thanks for noticing Ray.

Having CIFS support would be awesome, I've been wanting to have that for a long time.

Coincidentally Alex is also the person to talk about this too, since he implemented and is in charge of the WebDAV support.
Alexander Chow
RE: CIFS implementation for Liferay
March 27, 2010 4:33 PM
Answer

Alexander Chow

LIFERAY STAFF

Rank: Liferay Master

Posts: 519

Join Date: July 19, 2005

Recent Posts

Hi Janne,

This sounds quite exciting. I am constantly working to improve our WebDAV support and have also looked at other alternatives like CIFS. JLAN provides an interesting solution and I would love to speak with you further on this. Out of curiosity, how is your performance over SOAP?

Alex
Janne Hietala
RE: CIFS implementation for Liferay
March 29, 2010 10:35 PM
Answer

Janne Hietala

Rank: Junior Member

Posts: 94

Join Date: June 16, 2009

Recent Posts

Björn Ryding:

It would be great if you could put the current SOAP version on Google Code or GitHub. I would like to try and build an integration using Hessian 2 instead of SOAP.

BTW, while JLAN 4.0 and 5.0 was released under GPL Alfresco recently shifted from GPL to LGPL and the JLAN source code in SVN is LGPL.


Using Hessian 2 would be great. We're trying to push the initial release. As I described in opening post the current version does not yet unfortunately do any file operations. Currently we're implementing mapping of shares, listing folders and files, showing properties of files. We're trying to finish the next version asap with complete suppor for file operations over SOAP. I try to sort out initial version to either Google code or to GitHub.

Licensing is one of the issues I have to sort out. Of course we will follow the original license, but Alfresco's shift to LGPL was news to me. Basically what we are doing is just plain driver development (implement DiskInterface) for JLAN. Does LGPL just enforce that we have to make code available or should we submit it back to Alfresco for their use? Currently there are no code changes needed for Liferay side. What else should we take into consideration when releasing the code?

Alexander Chow:
Hi Janne,

This sounds quite exciting. I am constantly working to improve our WebDAV support and have also looked at other alternatives like CIFS. JLAN provides an interesting solution and I would love to speak with you further on this. Out of curiosity, how is your performance over SOAP?

Alex


Please feel free to send me email so we can talk over skype or phone. Exchanging ideas would be very intresting (janne.hietala(at)arcusys.fi and janne-at-arcusys on skype).

We havent been able to do any real benchmarks over SOAP yet. There is implementation of caching in the driver, so there is no constant polling. Table testing shows okay performance in desktop environment, but we definetely need to develop some real life benchmark framework for testing. SOAP definetely will be bottleneck on real life implementations, but at least works great for lightweight and proof-of-concept implementation. One of our next development steps would be to implement I/O operations using JCR-RMI directly to Jackrabbit. I am not sure if using Liferay API over RMI is possible on current version?

-Janne
Janne Hietala
RE: CIFS implementation for Liferay
March 29, 2010 10:41 PM
Answer

Janne Hietala

Rank: Junior Member

Posts: 94

Join Date: June 16, 2009

Recent Posts

I re-checked the licensing and version of JLAN (because I was pretty sure it was GPL). JLAN version we are currently using is 4.0 and it has GPL licensing.
Jonas Yuan
RE: CIFS implementation for Liferay
April 14, 2010 7:50 AM
Answer

Jonas Yuan

Rank: Liferay Master

Posts: 993

Join Date: April 26, 2007

Recent Posts

Hi Alex, Thank you.

It is good news that Liferay 6 will support CIFS.

What's JIRA ticket number for CIFS?

JLAN - pure Java implementations of CIFS, NFS and FTP server, with optional JNI code on Windows - is interesting ....

Best Regards,

Jonas Yuan
---------------------------
The Author of Liferay Books:
Liferay Portal 6 Enterprise Intranets
Liferay Portal 5.2 Systems Development
Liferay Portal Enterprise Intranets
Alexander Chow
RE: CIFS implementation for Liferay
April 13, 2010 8:20 AM
Answer

Alexander Chow

LIFERAY STAFF

Rank: Liferay Master

Posts: 519

Join Date: July 19, 2005

Recent Posts

@Jonas Sorry, there was confusion in this thread over whether CIFS = CMIS (which it isn't). So, no, 6 will not support CIFS.
Janne Hietala
RE: CIFS implementation for Liferay
June 14, 2010 10:47 AM
Answer

Janne Hietala

Rank: Junior Member

Posts: 94

Join Date: June 16, 2009

Recent Posts

We have made initial release of Liferay CIFS add-on. Currently only 5.2.3 is supported. This is based on Alfresco JLAN as described in initial post. Liferay connector is developed as an driver for JLAN, so CIFS server works as an independent module from Liferay (and also Alfresco). Connection to Liferay is made using web services and SOAP. Individual shares and connection paremeters are configured jlanConfig.xml. If you want to use CIFS server separated from Liferay server, you have to configure Liferay to allow connections from other hosts than localhost to it's services.

Basically current version works as proof of concept and is not ready for any kind of production environment. It contains basic file operations, but for example is lacking proper authentication methods.

Source code is released under LGPL and you can find built version and source on github
http://github.com/arcusys/Liferay-CIFS

We are happy for all the support so far. Please continue to give us your feedback and suggestions.
Ace Man
RE: CIFS implementation for Liferay
July 15, 2010 6:52 AM
Answer

Ace Man

Rank: New Member

Posts: 14

Join Date: October 29, 2009

Recent Posts

I want this CIFS sooo bad because WebDAV is so buggy on several platforms (Windows) emoticon

@Janne: What is still to do and when do you think a stable version for production use is released? Is it going to be free of charge?

Will CIFS or SAMBA be integrated in next version of Liferay?
Bryan Cheung
RE: CIFS implementation for Liferay
August 4, 2010 6:38 AM
Answer

Bryan Cheung

LIFERAY STAFF

Rank: Expert

Posts: 359

Join Date: August 26, 2004

Recent Posts

Hi Janne,

Very interesting to hear you are trying to tackle CIFS support. Is this being created as a Liferay plug-in?
Claas Ruschmeyer
RE: CIFS implementation for Liferay
August 19, 2010 8:38 AM
Answer

Claas Ruschmeyer

Rank: New Member

Posts: 15

Join Date: December 2, 2008

Recent Posts

Hi Janne,

great work, thanks a lot!! (The JLAN documentation gives not much hints for beginning.)

A comment to your plans:
(...) In next version we are working directly with Jackrabbit JCR-RMI interface for more performance critical environments.

But: some people changes the default DL-Hook from Jackrabbit to FileSystem, Amazon S3 or a DMS Archive (Documentum (LPE-1415) or Saperion DMS like us). Working directly with Jackrabbit you have to manage lucene indexing in Liferay too, etc.


For own proof-of-concept I changed your code to startup the JLANServer on Liferay-startup (with ServletContextListener; can't find a good PlugIn-HOWTO) and direct usage of the DL xyzLocalServiceUtil-classes. It should be much more faster (because not using SOAP) and is deeper integrated in Liferay.
Additional I changed the diskshare-config to a user independent config. Depending on the users portal-rights all his groups (plus "guest" group) are shown as root-paths. (like WebDav) My code changings are still a little buggy but downloading, folder-browsing, folder-renaming and file/folder-deleting works well. (If someone wants the code, please contact me.)


Ok, CIFS to DocumentLibrary is possible, but what about the JLAN license? Can we use JLAN 4.0? (Not 5.0?)


Regards
Claas
Janne Hietala
RE: CIFS implementation for Liferay
August 26, 2010 4:03 AM
Answer

Janne Hietala

Rank: Junior Member

Posts: 94

Join Date: June 16, 2009

Recent Posts

Hi all,

Thanks for all the support. It's really nice to hear that someone has already continued to work on CIFS.

Claas: your implementation sounds intresting and more suitable for pre-bundling to Liferay. Our goal was to have separate installation, which could work on different server for added performance. Of course native Liferay API would be the most proficient. JCR-RMI is developed from customer requirement perspective and might not sound the most feasible overall solution.

We can create own branch for you to our github if you want contribute your code back.

Also, we definetely want to contribute this to Liferay. At the moment we are unsure that how "mature" the code should be that Liferay accepts it. As for now it's free to be used as is. Official talks seems to run a bit slow due to everybodys busyness ;) I think this would be good feature to be implemented to Liferay soon as possible...
Janne Hietala
RE: CIFS implementation for Liferay
August 26, 2010 4:10 AM
Answer

Janne Hietala

Rank: Junior Member

Posts: 94

Join Date: June 16, 2009

Recent Posts

I actually noticed that our readme was missing. I've re-added it to github:

http://github.com/arcusys/Liferay-CIFS/blob/master/README

This should ease you getting started.
Jignesh Vachhani
RE: CIFS implementation for Liferay
February 1, 2011 3:27 AM
Answer

Jignesh Vachhani

Rank: Liferay Master

Posts: 780

Join Date: March 10, 2008

Recent Posts

Hi Janne,

Thanks you so much for sharing such a nice feature.

Can you please share details steps for integrating this module(arcusys-Liferay-CIFS-4b6bed9) with liferay.

Thanks