Source Code, Zimlets and Documentation

Have a great idea for extending Zimbra? Share ideas, ask questions, contribute, and get feedback.
Post Reply
qoelhex
Posts: 7
Joined: Sat Sep 13, 2014 3:06 am

Source Code, Zimlets and Documentation

Post by qoelhex »

Hi Everyone,

I'm trying to dig deeper on Zimbra FOSS and make some zimlets, among other hacks. But documentation, to be kind, is not enough, and the source code, unavailable at the moment( ssh: connect to host git.zimbra.com port 1067: Connection refused ).

I need docs or examples and I would like some enlightenment about where to go to get some updated material, if it is possible.

Cheers!

by qoelheX
metux
Advanced member
Advanced member
Posts: 146
Joined: Mon Jul 28, 2014 6:21 pm

Source Code, Zimlets and Documentation

Post by metux »

[quote]

I'm trying to dig deeper on Zimbra FOSS and make some zimlets, among other hacks. But documentation, to be kind, is not enough,

[/quote]



Developer documentation always had been virtually non-existant.



Maybe you find some help in these packages:

https://github.com/vnc-biz/zcs-core-libs

https://github.com/vnc-biz/zcs-zmpkg

https://github.com/vnc-biz/zcs-lib-vnc-common

https://github.com/vnc-biz/zcs-lib-jtidy

https://github.com/vnc-biz/zcs-lib-flyingsaucer

https://github.com/vnc-biz/zcs-lib-gson

https://github.com/vnc-biz/zcs-lib-itext-2

https://github.com/vnc-biz/zcs-lib-javacsv

https://github.com/vnc-biz/zcs-lib-json-simple

https://github.com/vnc-biz/zcs-lib-redstone-xmlrpc

https://github.com/vnc-biz/vnc-zcs-crm

https://github.com/vnc-biz/openerp-zimbra-connector

https://github.com/vnc-biz/zcs-openerp-connector

https://github.com/vnc-biz/vnc-history-zimlet



[quote]

and the source code, unavailable at the moment( ssh: connect to host git.zimbra.com port 1067: Connection refused ).

[/quote]



That server tends to be down from time to time.

But you can also use my mirror from the open-zimbra project:



https://gitorious.org/open-zimbra



by the way: mailing lists at:

https://groups.google.com/forum/#!forum/open-zimbra

https://groups.google.com/forum/#!forum ... -zcs-users
qoelhex
Posts: 7
Joined: Sat Sep 13, 2014 3:06 am

Source Code, Zimlets and Documentation

Post by qoelhex »

Hi Metux,



Really thank you by the directions, I'll check the infos!



Thanks!
metux
Advanced member
Advanced member
Posts: 146
Joined: Mon Jul 28, 2014 6:21 pm

Source Code, Zimlets and Documentation

Post by metux »

specific modules and site config. (maybe also adding the _internal_

convenience stuff like the p4edit make rules).



This approach isn't that complex at it may sound on the first thought,

actually it makes a lot of things _much_ easier. I'm practising that

for many years (note: customizations and specific editions are pretty

common for my projects). It's just a different way of thinking - once

you got used to it, it's pretty simple and straigtforward.



> Some things, for example, the installer, are part of

> both NE builds and FOSS builds. Thus the NE bits cannot just be ripped out.



To take that specific example: the installer can be easily modularized,

so that NE specific stuff is only called when present. Especially in

shellscript language makes that's quite trivial.



> Other items are present in the repository due to licensing requirements of

> providing the source for OSS projects used in NE.



Which ones exactly ?



Something coming into my mind right now are the licenses texts - one of

the things that are really anoying me for quite some time:



I dont think that cat'ing ll the licenses together to some big file

is useful at all - this easily could be a directory w/ once license

text file per package (just named by the package).



And that doesn't need to be (with full copies) in the source tree, a

simple listing of the 3rdparty packages and pointers to their sources

and licenses should be really enough here. (the full texts already are

included in the source tree, just packed within the corresponding tarballs)

For the target installations, where the individual license texts should

be easy to find (which in that case would be a legal requirement),

these could be put into some directory (just as explained above),

by the individual package's build rules (eg. ThirdParty/*/Makefile).



Yet again, an easy and straightforward appraoch, which reduces complexity

and manual labour.

[/quote]



@Zimbra folks: (Rob Howard (@rhoward), Jon Dybik (@jdybik), etc)



If you *really* want to do an opensource project - with an actual opensource community - you'll

also need to play by the fundamental rules of opensource. Otherwise you won't be taken seriously

and just earn a pretty bad reputation.



In fact, what shall people think about project, where the (publically visible) codebase is constantly

broken and doesn't even compile ? Quite simple: it makes you look like amateurs, who can't even

write robust build scripts. No idea how you guys are thinking about that, but I'd consider that a

pretty bad PR.



Just remember what OpenSource is all about: it's about open collaboration of people all around

the world, regardless of certain companies etc. It's about anybody being able to pick up the code,

build it on his own, do his own changes, and give it back to the community. If the (publically

available) code doesn't even compile out of the box, and your guys (see bugzilla discussions)

are stroppy against external contributors, people outside your company working on the code,

(yes, it feels like being treated as an unwanted alien intruder here) that doesn't fit the spirit and

purpose of OpenSource.



If you just wanna show people (parts of) the code, without them being able to actually work

with it, dont call it OpenSource, because in that case it simply isn't.
metux
Advanced member
Advanced member
Posts: 146
Joined: Mon Jul 28, 2014 6:21 pm

Source Code, Zimlets and Documentation

Post by metux »

Oh, most of the text had been cut off ... what the hell happened here ?!
Post Reply