« Previous Next »

Thread: Joomla

Last post 08-17-2009 8:05 PM by stjacobs. 15 replies.

Average Rating Rate It (5)

RSS

Page 1 of 2 (16 items) 1 2 Next >

Sort Posts:

  • 07-30-2009, 1:35 PM

    Joomla

    Are there any plans for adding Joomla to the Web Application Gallery and especially integrating it with the Web Platform Installer?

    Thanks,

    John

  • 07-30-2009, 1:47 PM In reply to

    • stjacobs
    • Top 150 Contributor
    • Joined on 09-23-2008, 3:09 PM
    • Redmond
    • Posts 43

    Re: Joomla

    We would love to see Joomla added to the Gallery and integrated with the Web Platform Installer.  However, we don't add applications to the Gallery ourselves.  The community that is responsible for the application (in this case opensourcematters.org) needs to submit their app for inclusion in the Gallery.  The community needs to do much of the work for the integration with the WPI.  We do the portions of the integration that handles prerequisite management, environmental setup, and things of that nature.  The Community sets up the installation of their application by identifying the files and directories in the app, setting appropriate ACLs, setting up the database, and generating configuration files through the WebPI.

    We have spoken with the Joomla community and we are hopeful that they will sign up to participate in the Gallery.  When the community decides that they are ready, the turnaround time will probably be just a couple of weeks. 

     Thanks!

     -Jake

    --
    Steve Jacobson (Jake)
    Sr. Program Manager - IIS
  • 07-30-2009, 2:19 PM In reply to

    Re: Joomla

    Jake, thanks for that speedy reply. For what it's worth, I just sent them a message encouraging them to consider integrating Joomla with the Gallery and WPI. Maybe if more people did this, it would cause them to realize the value to both communities.

    JK

  • 07-30-2009, 10:18 PM In reply to

    Re: Joomla

     John, where did you send the request? I'd be willing to email them asking them to do this as well. I'd love to see the add. I'm sure many many others would enjoy that as well!

    My suggested VPS and Reseller Hosting provider is ResellerChoice.
  • 07-30-2009, 11:03 PM In reply to

    Re: Joomla

    There is a form on the web site listed the first reply that has a link to a contact us form.

    Here is the reply I got back from them, posted here with permission:

    In reality, most other open source projects have paid staff. We do not. So we rely on our community to pitch in to achieve what they would like. Perhaps you and other professionals working with Joomla in the MS environment would like to join together to support this initiative financially or else would like to contribute developer time and know how from your firms. My understanding is that it is not a technically hard task, but simply one  that requires someone to commit their time to it.. It's very hard for me to convince volunteer developers to help MS make money from their  freely contributed work. I'm not giving up though.

    Elin Waring
    President
    Open Source Matters
    Part of the Joomla! Project
    Providing a flexible platform for digital publishing and collaboration

  • 07-30-2009, 11:57 PM In reply to

    • stjacobs
    • Top 150 Contributor
    • Joined on 09-23-2008, 3:09 PM
    • Redmond
    • Posts 43

    Re: Joomla

     If anybody would like to take a stab at the work involved, here are some resources:

    • The Application Packaging Guide is at http://learn.iis.net/page.aspx/578/application-packaging-guide-for-the-windows-web-application-gallery/.
    • Some sample files for Joomla can be found at http://learn.iis.net/page.aspx/645/joomla-sample-files/.

    To get Joomla in the Gallery, the following things need to occur:

     

    1. Someone needs to take those samples, and turn them into working installation files with the latest version of Joomla.  This includes testing them to make sure they work.
    2. Those working files need to be contributed to Joomla, or checked in if the person doing the integration work has privileges for that.
    3. The working files need to be accepted by Joomla, and a Zip archive with the files needs to be built and placed wherever Joomla places downloads.
    4. Someone needs to fill out a metadata form to describe Joomla to the Gallery.  Elin has this form, and probably would be the one to do this.
    5. Someone needs to sign our submission agreement.  This would most likely need to be Elin.

    Elin and I have spoken about this, and the point she raised above is the same one she raised with me.  Given the nature of the Joomla community, we just need someone either in the community now, or who would like to be part of it, to do this integration and testing work.

    Depending on the technical skills and the Joomla knowledge of whoever does the integration, this task could take from a couple of hours to a couple of days.

    Any volunteers?  

     

    Thanks!

    -Jake

    --
    Steve Jacobson (Jake)
    Sr. Program Manager - IIS
  • 08-01-2009, 10:57 AM In reply to

    • pasamio
    • Not Ranked
    • Joined on 08-01-2009, 12:43 PM
    • Posts 2

    Re: Joomla

    Had to dust of a live ID, the sign up process for this is a bit strange - I have to create a local account that I have linked? Anyway, all good fun.

    I had a look over the sample that you provided and it looked to me like it was complete with everything that we needed. I had a few questions though.

    1. Joomla! by default isn't shipped in a subdirectory, the archive extracts directly out to the root which makes it easy to do stuff like upgrades on our side but it would appear a bit ambiguous here.
    2. Since we're looking at doing updates for the entire application from the application, the ACL's that you have there would appear to be sufficient.
    3. The mod_rewrite stuff appears to be good as well. I figure this is automatically generated by looking at the default file that is shipped with Joomla!.
    4. You refer to a zip file with the files in it at the location that Joomla!'s packages are downloaded. What are the specifics about this? JoomlaCode is our project hosting site, we'd probably just create a new project and associate it with that to handle storage.
    5. I'm not sure what the install.sql does, does the web app gallery have a root password or similar to create a new database, create a user and then display these credentials to the user so that they can feed them into the installation web app?
    6. I guess testing this won't work on Linux or Mac - I'm guessing Win2k8 is required to run it all?

    Edit: The formatting for the text area seems lost so I hand coded some HTML - I'm guessing your rich text editor doesn't work on Safari?

  • 08-02-2009, 1:44 AM In reply to

    • stjacobs
    • Top 150 Contributor
    • Joined on 09-23-2008, 3:09 PM
    • Redmond
    • Posts 43

    hi Passamio - let me answer your questions inline below:

    pasamio:

    1. Joomla! by default isn't shipped in a subdirectory, the archive extracts directly out to the root which makes it easy to do stuff like upgrades on our side but it would appear a bit ambiguous here.
    • The Web Deployment Tool needs to have the application itself in a subdirectory, with the manifest and parameters xml files on the same level as that subdirectory. Some of the other apps int the Gallery that normally ship the way Joomla does have added an extra step to their automated build processes that builds the Zip with the needed structure.

    pasamio:

  • Since we're looking at doing updates for the entire application from the application, the ACL's that you have there would appear to be sufficient.
    • Cool. The more granular you can make the ACLs, however, the more secure the system will be. If it's possible to restrict the Modify ACL to a series of subdirectories or files, that would be better. However, what we've seen is that many mechanisms that can update an entire application usually need the Modify on the whole thing.

    pasamio:

  • The mod_rewrite stuff appears to be good as well. I figure this is automatically generated by looking at the default file that is shipped with Joomla!.
    • Correct. This was generated using the URL Rewriter htaccess importer with the defaults.

    pasamio:

  • You refer to a zip file with the files in it at the location that Joomla!'s packages are downloaded. What are the specifics about this? JoomlaCode is our project hosting site, we'd probably just create a new project and associate it with that to handle storage.
    • Creating the new project sounds fine. The requirement is that the community itself hosts the application, or provides for the hosting of the application (like sourceforge or codeplex).

    pasamio:

  • I'm not sure what the install.sql does, does the web app gallery have a root password or similar to create a new database, create a user and then display these credentials to the user so that they can feed them into the installation web app?
    • Install.sql is used to create the user that will be used by the application to connect to the database. The script uses a stored procedure that it creates to create the user which is designed to ignore certain errors that would turn up if the user didn't have the administrative credentials. I've got a flow chart that I'll attach to this post that illustrates how the different userids are used when connecting to the database. It's somewhat complicated, and I haven't finished documenting the chart, so let me know if it makes sense or not.

    pasamio:

  • I guess testing this won't work on Linux or Mac - I'm guessing Win2k8 is required to run it all?
    • I'm afraid not on the Linux and Mac part. However, you can use any version of Windows from XP on (except XP Home). i.e. XP Professional SP2+, Windows Server 2003 SP1+, Windows Vista SP1+, and Windows Server 2008. When Windows7 and Windows 2008R2 are released, you will be able to use them as well.

    pasamio:

    Edit: The formatting for the text area seems lost so I hand coded some HTML - I'm guessing your rich text editor doesn't work on Safari?

    I haven't tried Safari yet. Personally, I prefer html, so I always just use vim and paste in the html. I will check with the board owner though, as I'm curious what our official stand on Safari is. Which version of Safari, by the way?

    I hope this covers your questions well. Let me know if there are any more.

    Thanks!

    -Jake

     

     

    --
    Steve Jacobson (Jake)
    Sr. Program Manager - IIS
  • 08-03-2009, 7:57 AM In reply to

    Re: Joomla

     Well so much for me trying to persuade them as well. I've come to learn that Joomla is very popular and think that with the right efforts, enough people who want the option would be willing to pitch in and put out the effort or even the funds. I'm no use in regards to the technical aspect but I'd be willing to help search for resources needed or other tasks that a "nobody" could do!

    My suggested VPS and Reseller Hosting provider is ResellerChoice.
  • 08-03-2009, 1:00 PM In reply to

    Re: Joomla

    It might behove Microsoft to either do the work or help financially with it getting done. Just a thought.

    JK

  • 08-03-2009, 5:29 PM In reply to

    Re: Joomla

    John Kisha:

    It might behove Microsoft to either do the work or help financially with it getting done. Just a thought.

    JK

     

    Yes, in all reality I'm sure that if they truly want it done then it would be a very simple task. They have the funds and the manpower, which is something most of us don't but I'd still be happy to help. ;)

    My suggested VPS and Reseller Hosting provider is ResellerChoice.
  • 08-03-2009, 5:48 PM In reply to

    • stjacobs
    • Top 150 Contributor
    • Joined on 09-23-2008, 3:09 PM
    • Redmond
    • Posts 43

    Re: Joomla

    Without getting into details, that is actually a very, very complex issue.  The most we can do is to provide illustrated and annotated samples that are specific to an application .  These samples can be used by someone who knows a given application and who has the ability to submit code to a community to perform the integration.   If we've crafted our samples well, then the integration should be a very simple task.  The examples we built for Joomla can be found at http://learn.iis.net/page.aspx/645/joomla-sample-files/.

     We have had reports from some communities that the integration has taken anything from a couple of hours to a couple of days where the applcation is significantly more complicated than we allowed for in the samples. 

    -Jake

    --
    Steve Jacobson (Jake)
    Sr. Program Manager - IIS
  • 08-05-2009, 9:44 AM In reply to

    • pasamio
    • Not Ranked
    • Joined on 08-01-2009, 12:43 PM
    • Posts 2

    Re: Joomla

    Thanks for the reply. Easy thing first, I'm running the latest version of Safari on Mac OS X Leopard. I have a pet Win2008 eval in a VM somewhere that I haven't really done much with, I will dust that off then.

    So we're going to have to modify our package builders to make a new package with a subfolder and the extra files there then. Shouldn't be too hard but will still take some time. Does it support delta/patch packages or just full packages?

    Yeah, its conceivable that you're going to want to put a file anywhere within Joomla!'s territory either as a part of an update or an extension to something. Creating a new project and hosting it isn't too hard - do you basically point to this hosting from the gallery and it downloads it from there?

    The install script you've provided looks very MSSQL specific, is there anything for MySQL since that is all we properly support at this moment (in theory someone could write a MSSQL driver so long as the server or the DB connector supported UTF-8 and understood Joomla! will feed it UTF-8 and wants stuff in UTF-8). Is there any support for MySQL as well or is it just MSSQL?

    Microsoft donating tangible resources (e.g. money) I can see would cause paperwork. Incidental things like time is easier to write off on a balance sheet somewhere. I can understand having to live under bean counters, working for a University gives me great insight into stupidity (they fired a whole bunch of people to find that we were actually $7 million ahead, doesn't sound like much but it certainly isn't equal to the salaries of those they fired - some of which went onto higher paying better jobs elsewhere). So I can understand it is hard for them to provide the money to just get it done, though I certainly wouldn't mind it. Integrating everything isn't so much a problem in that the majority of the developers on Joomla! own Mac's (including both development co-ordinators). Linux is very popular and then Windows fits in there somewhere. So the people with the skills don't have the operating system which makes it hard to test IIS issues or integrating new things into web application gallery.

    How does update notification work out of interest? Do you have a permaurl that you keep so whatever it farms out is it or can the system handle notification of a new location for the download?

  • 08-05-2009, 10:35 AM In reply to

    • stjacobs
    • Top 150 Contributor
    • Joined on 09-23-2008, 3:09 PM
    • Redmond
    • Posts 43

    Re: Joomla

     This thread grows long :)  As we get into more detailed questions, you may want to switch to e-mail for some of them.  Personally, I find formatting to be easier in e-mail.  My e-mail is stjacobs@microsoft.com.  Or you can send me a message through my profile here.  So, on to the answers. 

    pasamio:
    So we're going to have to modify our package builders to make a new package with a subfolder and the extra files there then. Shouldn't be too hard but will still take some time. Does it support delta/patch packages or just full packages?
     

    We just support full packages at this time.  What we're finding is that for every five applications, there are ten ways of updating them.  While we recognize this as an important issue, because of the complexity involved in may be a while before we can come up with a mechanism that works across all applications.

     

    pasamio:
    The install script you've provided looks very MSSQL specific, is there anything for MySQL since that is all we properly support at this moment (in theory someone could write a MSSQL driver so long as the server or the DB connector supported UTF-8 and understood Joomla! will feed it UTF-8 and wants stuff in UTF-8). Is there any support for MySQL as well or is it just MSSQL?

    You had me thinking I posted the wrong script for a minute there :).  We do support MySQL, and the samples actually are MySQL specific.  We ran into an interesting issue with user management.  The Gallery apps need to work in all environments ranging from a developer's desktop through large scale dedicated deployments through shared hosting environments.  In dedicated environments, the user will almost always have root credentials for MySQL.  In shared environments, the user will almost never have root credentials.  What we found in shared environments is that in many cases, the users did not have sufficient privileges to grant permissions to themselves, even if the GRANT matched what they already had.  So, we wrapped the GRANT statement in a MySQL Stored Procedure that would ignore the error that gets thrown when a non-privileged user issues the GRANT statement inside it.  That's all that install.sql script does.  Most apps use this script to create the user, and then execute other SQL scripts as needed to perform other functions.  i.e. load DDL, pre-load data or samples, etc...

    UTF-8 is fine for all of the MySQL interactions.  We are working on a new release of our MS SQL PHP driver which will support UTF-8 as well.  If anyone wants to take a look at the driver to think about a MSSQL db connection for Joomla, let me know, and I'll put you in touch with the right folk from the SQL team.  I haven't had much chance to use the new driver yet, but from what little work I've done, it's orders of magnitude better than the old MSSQL driver that still ships with PHP.

    pasamio:
    Integrating everything isn't so much a problem in that the majority of the developers on Joomla! own Mac's (including both development co-ordinators). Linux is very popular and then Windows fits in there somewhere. So the people with the skills don't have the operating system which makes it hard to test IIS issues or integrating new things into web application gallery.
     

    One of our main goals when designing the mechanisms for the Gallery software was to make sure that packages could be built on any platform - particularly Linux.  Testing the packages, however, does require Windows.   We're working on some tooling to help out with that, but it's too soon to go into details (as they'll probably change).  We ran into an interesting Mac related issue just a couple of days ago, where a ZIP file created on a Mac has a bunch of additional files and folders.  So, right now, ZIP files created on a Mac won't work.  The "preferred" mechanism for creating the ZIPs is to use the Windows Explorer.  I tend to use that when I'm iterating on manifest and parameters file changes as I can just drop the new one into the ZIP and re-test without having to recreate the archive.  I know there's a way to do that with linux ZIP, but I haven't taken the time to figure it out yet.  However, ZIP files created from the Linux command line (or other Linux tools) or from a cygwin zip command line all work fine.

    Also, if you need a copy of Windows 2008 to test with, you can always download a 60 day evaluation copy from http://www.microsoft.com/windowsserver2008/en/us/try-it.aspx.  If you need more than that, let me know.

    pasamio:
    How does update notification work out of interest? Do you have a permaurl that you keep so whatever it farms out is it or can the system handle notification of a new location for the download?
     

    My personal favorite updated notifications are the ones we get from apps that have integrated the notification into their build system.  When a production build gets created and published, we get an e-mail.  The e-mail needs to contain the following info:

    •  The URL for the new package (needs to be a new URL)
    • A MD5 Hash for the new package (we'll be moving to SHA-1 soon)
    • The size in bytes of the package
    • An optional pointer to a change log (reduces our testing time when we have this)
    • A notification when the release has security implications so we can prioritize it appropriately.

    We need the package to be a new URL because of the hash.  If you update in place, then your application stops working until we get through the certification of the new build, and the update of our feed to incorporate the new hash.

    Thanks!

    -Jake

     

     

     

    --
    Steve Jacobson (Jake)
    Sr. Program Manager - IIS
  • 08-11-2009, 4:57 PM In reply to

    Re: Joomla

    I just stopped by for an update, but it appears that the conversation has moved to private emails. Does it look like someone will be continuing to move this forward? I'm very excited in hoping someone with the skills and ability has actually adopted this project and we will soon see it available in the installer.

    JK

Page 1 of 2 (16 items) 1 2 Next >
Microsoft Communities