Skip to main content

the avatar of Jeffrey Stedfast

HOWTO: MonoTouch Enterprise Deployment

Okay, so you've gotten the "Engage" hand-gesture from your Captain to deploy your MonoTouch app to the rest of the crew of the Enterprise. Now all you need to know is which buttons to press on your helm...


Step 1.

First, you'll need to make sure that you've created and installed your "In-House" Distribution Certificate via Apple's iOS Provisioning Portal.


Step 2.

Open your Project Options in MonoDevelop and navigate to the iPhone Bundle Signing section.

If you've got MonoDevelop 3.1.0 or later, you'll be able to set your configuration to:


Otherwise you'll simply have to select your Provisioning Profile manually.

Once you've selected your signing certificate and provisioning profile, click the OK button to dismiss the Project Options dialog.


Step 3.

In MonoDevelop, click on the Build menu and select Archive. This will build your project and archive it in a location that Xcode will be able to see it in its Organizer window.


Step 4.

Launch Xcode and then click on the Window menu and select Organizer. At the top of Xcode's Organizer window, you will see an array of icons. Click on the one labeled Archives.

Find your application in the list of archives and select it.


Step 5.

Now click on the Distribute... button in the top-right area of the window and select Save for Enterprise or Ad-Hoc Deployment.

The next screen will prompt you for your code-signing certificate, providing you with a drop-down menu listing your available options.

Clicking Next will cause an action sheet to slide into view, prompting you for the location to save the AppName.ipa package and the AppName.plist file.

Important: Make sure to toggle the Save for Enterprise Distribution checkbox.

Once you've finished filling out all of the fields, click on the Save button.


Step 6.

You'll need to upload the saved AppName.ipa and AppName.plist files to your corporate web server in the location that you specified in the previous step. You'll also need a web page that will link to your app using a hyperlink similar to the one below:

<a href="itms-services://?action=download-manifest&url=http://internal.mycompany.com/Applications/AppName.plist">Install AppName!</a>

That's it! You're done!

the avatar of Andrew Wafaa

openSUSE on the Series 3 Chromebook - Quick and Easy

I have blogged about how to get Linux on the Chromebook in the past; and whilst the process works, it isn’t the easiest or most friendly way. Thanks to the tireless work of the openSUSE ARM Team (especially Alex Graf and Marcus Schäfer) we now have a simpler way to get openSUSE on the Chromebook. We now have an installable image that can be dd’ed directly to either an SD card or USB drive (I’ve not tried the internal eMMC) just like any other ARM device.

the avatar of Klaas Freitag

A week for csync

On Friday I arrived back from Berlin where I had the pleasure to work with my great colleague Danimo and our friends from Woboq, Markus and Olivier, in the Woboq Headquarter in Berlin Kreuzberg for a week.

We thought that it might be fun to work together on csync, our sync engine under the hood of the ownCloud client. There were some issues that should be fixed and on the way we cleaned and improved quite some code in csync.

Here are some things we worked on:

  • We added a function that lets the program that uses the csync library pass arbitrary module parameters to the backend module. That way its more easy to steer the behaviour of the ownCloud modules from the calling app.

  • Error handling was improved, ie. if an http error happens, csync works errno based error reporting. We added custom errnos because not all error cases with http can be mapped to system errnos.

  • Formerly the csync ownCloud module was spooling files through an additional temporar file on client side. That step is skipped now which results in performance improvements as well as in more clean code.

  • We were able to reduce the number of HTTP requests that go over the wire even more. For example to check if there are changes on server side, now there is exactly one http propfind required. Also if files have to be synced, we could save some HTTP requests by improving caching of some requests.

  • Andreas recently changed the logging system in csync upstream master branch. We merged that back and now do not longer need the log4c framework. One build dependency less and a nice new logging framework.

  • Other bugs were fixed, such as a potential crash if a folder as deleted during it is synced, SSL handling shortcomings, code streamlining in handling compressed data streams and more.

  • We finalized a patch that uniforms the utf8 representations of characters over all platforms. That will fix problems we saw especially with MacOS and special filenames.

Ah, yes, we also did other things, more related to the ownCloud client. Danimo managed to implement a cross platform filesystem watcher class that is able to fulfill our requirements. That obsoletes polling for changes on the local file system, one of the most popular enhancement requests.

And finally there now is a API in csync thats reports file transmission progress if a callback is installed accordingly. So the client hopefully soon will tell ya what it’s doing for you. Also appreciated I guess…

Last but not least we added code to use QtKeyChain, a cross platform password storage library that stores password encrypted. For example on Linux QtKeyChain connects to kwallet. QtKeyChain was provided by Frank Osterfeld, thanks a lot for that contribution.

Quite some stuff for a short week, note that stuff that fills a short line in this blog can be quite nifty to investigate, implement and test. Not everything is stable, polished and properly integrated but it was a great and productive week. The next release of ownCloud Client will be a nice one.

woboq_dinner2 And sice you can not always work, we had a nice dinner at a very cool italian restaurant. We met with other ownCloud employees located in Berlin, Arthur and Georg. Fun :) And Berlin, yes, a great place to be, but finally I appreciated to arrive back to my snow covered home.

Many thanks to Olivier and Markus for hosting us and for the nice week.

a silhouette of a person's head and shoulders, used as a default avatar

Developer Barcelona Events

Lately I have been assisting to events in Barcelona related to programming not only because I consider part of my job to be up-to-date but also because I enjoy it: you always learn something or meet new people what is always interesting. Moreover, since I live in Barcelona, I could not miss them.

Here is a list of the events I have assisted during the past months. If you know of other interesting events, please tell me.

Barcelona Ruby Conference
Nosql matters conference
Barcelona On Rails events (barcelona rails group)
Barcelona testing open space
Barcelona DevCon

I think Barcelona is a great city for such events since a lot of people from other countries enjoy visiting it and hence it makes it easier to convince them to come.

In the other hand, I think it is very important for our economy, not only because of the hotels, restaurants, etc. but also for the business/jobs opportunities that this kind of events bring.

By the way, I missed the LinuxCon Europe, but I think it is worth mentioning that this one took place in Barcelona.


a silhouette of a person's head and shoulders, used as a default avatar

LibreOffice Visio Import Filter: 20 years of drawings opened in your favourite office suite

It is true that the support of the most used Microsoft Visio file formats in LibreOffice will celebrate 1 year next February. And I will gladly have a birthday talk with any of you who will be freezing in Brussels during the next FOSDEM 2013. Nonetheless, even though libvisio was in development for several months already, the Visio story was far from finished when we released that day. As I already mentioned in another blogpost concerning reverse-engineering of file formats, assessment of a conversion quality in this kind of cases is illusory before real users get to stress-test it with real-life documents.
Since the first release of our filter in LibreOffice 3.5.0, we were improving it thanks to bug reports from our users. It is a big thank you that I would like to say to all those that took the bother to submit reports in our bugzilla. Without you, guys, this filter would be only a moot exercise.
But wait... Do I write this blog now only to thank the people who contributed to the current quality of the filter? Yes to a big extent! Nevertheless, I know that the distinguished readers of this blog would like to have some news. And, yes, we have some news.
The libvisio library underwent heavy re-factoring as we started to understand more and more details about the underlying file-format.
  1. A particular bug report about files imported as empty pages provided us with a document structure that we did never see before. This resulted in a more generic parser and unification on the way we parse master shapes and visible pages.
  2. This re-factoring in its turn allowed us to extend our file-format coverage to all earlier binary Visio file-format versions. We now support all binary Visio documents starting from Visio 1 (released in 1992).
  3. Extending the support to earlier file-format versions allowed us to better understand the development of the file-format, to find more information that we did not parse before, and improve the conversion quality for other binary versions too.
  4. Another re-factoring came with our work to support the XML-based Visio file-formats, namely the "XML Drawing" also known as *.vdx; and the Microsoft Visio 2013 new file-format, known as *.vsdx.
So the news is that LibreOffice 4.0.0 will be able to open ALL Visio files starting from Visio 1 (release in 1992) until Microsoft Visio 2013 (released just some weeks ago).
And since the readers of this blog are more interested in pictures than in pointless words, here come some candies for your eyes:
File opened in Visio 1.0   The same file opened in LibreOffice 4.0.0 beta1
File in Visio 1.0   File in LibreOffice 4.0.0 beta1

VSDX File opened in Microsoft Visio 2013   The same file opened in LibreOffice 4.0.0 beta1
VSDX File in Microsoft Visio 2013   File in LibreOffice 4.0.0 beta1
So, download the LibreOffice 4.0.0 beta1 and help us testing the new big release. We are interested in bug reports that help us to improve our quality. And for those that would love to support us with donations, just click here:
Donate for LibreOffice

the avatar of Andrew Wafaa

ARMing A Virtual World

There is now real hardware from ARM’s partners that offers the ability to leverage hardware virtualisation, in a similar fashion to Intel and AMD. So far three devices are shipping to the general public – the new Series 3 Chromebook, the Nexus 10 and the Arndale board. They all have one key factor in common, the Samsung Exynos5 SoC. This fine piece of silicon is a member of the Cortex-A15 family which introduces the required virtualisation extensions.

the avatar of Raymond Wooninck

brBoard Elections: openSUSE Release Strategy

As also indicated on my Board Election Platform page (http://en.opensuse.org/openSUSE:Board_election_2012_platform_rwooninck), one of the topics that I would like to change is the strategy plan/release goals for the upcoming openSUSE releases.

The issue as seen by me. 

Currently the strategy plan for the distribution is seen from the outside as handled only by developers or people working with the development version. Although this is not wrong, it ultimately leads to a lack of communication on why certain decisions were taken, or why defaults were changed, and so on. Of course the discussion appear in the open, like in mailing lists, but other forms of communication, like a wiki page describing the goals set for the next release, including the rationale for the changes, is missing. Ultimately this leads to confusions among end-users, and even among contributors, as endless discussions appear often on the mailing lists.

My proposal on how to improve the process
The strategy process can be improved in two areas. The first area is the simpler one, where we should utilize wiki pages to describe the goals set for the next release. Similar to what the KDE organization is doing. On the main wiki page, the teams can list their plans on what they want to achieve or improve in the next openSUSE release. The team could create detailed wiki pages behind those goals and track the progress on the main wiki page. Major changes within the distribution should always have a detailed page where the change is described in more detail and also indicating how it would impact other areas and/or the user.

The second area is how to get to the right strategy plan for the next openSUSE release. We have openFATE where users are registering their requests for changes, but I see no real official follow-up on this. There are quite some discussions per requests, but in the end it is not clear if a request is being implemented or not. Also the requester will never know exactly in which openSUSE release his request might get implemented. Especially in this area a bigger change is required. In a kind of strategy round the outstanding openFATE requests should be evaluated and classified. Classification could be consisting out of:  “Next Release”, “Future Release”, “Rejected”, “Info required”. Those classified as “Next Release” will be implemented in the upcoming openSUSE release. Those classified as “Future Release” have been accepted, but due to several reason, they can not be implemented in the upcoming release. Similar approached are also being followed by the other distributions.
a silhouette of a person's head and shoulders, used as a default avatar

4.10 Beta 2 packages available for openSUSE

The KDE community has just released Beta 2 of the upcoming 4.10 release of the Development Platform, Workspaces, and Applications. Of course, distributions are providing binary packages for the adventurous… and how could the green distro be left out?

In fact, it is not. Beta 2 packages were uploaded and built in the KDE:Distro:Factory repository. Updated packages have also been submitted to the development version of openSUSE (Factory) as the ultimate goal is having 4.10 in openSUSE 12.3.

Before attempting to install them, be aware that:

  • This release is mostly aimed at contributors and testers to ensure that the final version is as polished as possible

  • You should expect bugs of all forms and kinds

  • It is not officially supported by openSUSE

If you understand all of the above, add KDE:Distro:Factory from YaST or zypper (see the link above; in case of zypper, use zypper ar -f <linktorepo> <reponame>), then trigger an upgrade using your method of choice (in the case of zypper, zypper dup --from <reponame>; don’t forget the --from!).

In case you find something that is not working and you are not sure, try posting your impressions in this special area at the KDE Community Forums, and afterwards file a bug on bugs.kde.org (as detailed as possible). Feel free to report packaging errors (not bugs in the software) on the opensuse-kde mailing list or on IRC (#opensuse-kde on Freenode).

Happy testing!

the avatar of Andres Silva

New Plasma Theme

Hello everyone

I have been working on a plasma theme for some weeks now and I think I am at a point where the plasma theme idea is understood and I would like to get some feedback. Obviously this theme is still considered in early stages, but I think it works well enough for testing.

I hope you like it.
If you would like to help me with it, find me at #opensuse-artwork

Thank you

https://www.dropbox.com/s/zd661zz69x389f7/Pure.zip



the avatar of Raymond Wooninck

Let the openSUSE Board campaign begin.

This afternoon the official start of the Campaign week for the openSUSE board was given. In total there are 8 candidates with all good credentials. 

I would like to kick-off my campaign with the following: 

Introduction and Biography 
Most of you will know me as tittiatcoke, but my real name is Raymond Wooninck, 47 years young, holding a Dutch nationality and since 2001 living with my wife and 2 children in Vienna, Austria. 
Professional live
I have been working since 1990 in the IT area. Started out as an Application Manager and climbed up to departmental manager to SAP Technical Consultant. In 2001 I moved to Austria to start working for the second largest Coca-Cola bottler in the world and to support them during the implement of the SAP system. Now 11 years and diverse positions later, I have been assigned to the function of Application Portfolio Manager within the Strategy & Architecture department. While shaping this new role, I found quite some interesting similarities with the role of the openSUSE board as I see it. 
Unix and I
I had my experience with running Minix, SCO Unix and Linux (since kernel v0.12). Got into the distributions and played around with Red Hat, Mandrake and SuSE, but always came back to the SuSE distro. Shortly after that the openSUSE OBS opened (2009) the possibility to create your own packages, I started packaging a couple of KDE utilities and this brought me an invitation to push them to an official KDE repository and to start working together with the openSUSE KDE team (Many thanks to Dirk Mueller and Stephan Binner (Beineri) for that). 
openSUSE work
After my first experiences with the openSUSE OBS, I got more and more involved. Since end 2009 I took the maintainership for the Google opensource browser Chromium. Tried my luck with the integration of Plymouth (bootsplash) into the openSUSE Distro and got rewarded by having Plymouth as the default bootsplash in openSUSE 12.2. Due to reassignments within the official SuSE/openSUSE teams, I became one of the main maintainers of the KDE repositories and am currently maintaining these repo’s together with a great team. One of the last major activities was to ensure that both the Gnome and KDE desktops would function based on the new systemd-logind session manager and remove the ConsoleKit dependency. This work was done in cooperation with the Gnome team, which was another proof that within openSUSE both teams can work together and make great things happen. 

My view
In my view, there is need for improvement in the areas of user-friendliness (including not only use itself, but easiness of adoption, development, and so on) and access to information. Currently the strategy plan for the distribution is seen from outside as handled inly by developers or people working with the development version. Although this is not wrong, it ultimately leads to a lack of communication on why certain decisions were taken, or why defaults were changed, and so on. Of course the discussion appear in the open, like in mailing lists, but other forms of communication, like a wiki page describing the goals set for the next release, including the rationale for the changes, is missing. Ultimately this leads to confusions among end-users, and even among contributors, as endless discussions appear often on the mailing lists.

Role of the board
At the moment the board is hardly visible. Everybody knows that it is there, but we hear or see only very little of it. Also other candidates have already indicated this. 
In my view, the board should become more active in a number of areas. The most profound one being to set the goals/strategy for the next openSUSE release. This is can be easily done by creating the wiki-pages outlines above where based on the openFATE requests, the feature plan is shown. If this is done early enough, our users would have the opportunity to react on it and to increase the usability of the next release. 
Another area is the interaction with the community and to stimulate its members. With the changing role of the openSUSE boosters, some of the major projects (KDE, Gnome, etc) are now 100% depending on community members. This on itself is already a big change and to find enough community members to help out. Together with the new “rules” being setup regarding packaging, patching, etc, it becomes almost impossible to find new people as that people are volunteering for tasks, seeing what is involved and what rules to follow and they disappear. The openSUSE board should take here a more active role in promoting the active participation and rewarding the work that is being done by the community. 
A third area is the involvement of the board in the discussions on the mailing-lists on topics that concerns part of the strategies or decisions around the openSUSE release/distro. Discussion why a certain item was changed or not changes is now done between users and the responsible maintainer. The maintainer currently defends his position and community members are jumping in on either side. I believe that with a different setup of defining the strategy for the next release, the number of these type of discussions should go down. But in the case they still occur the board should intervene and indicate what the agreed/aligned strategy was regarding the topic. This should move the discussion away from a technical point to a strategic discussion. 

Why you should vote for me?
I believe that my strengths lies in my professional background where I am dealing with Application Strategies, Usability, Accessibility every day. Together with my willpower to bring things to an end, would be very beneficial for the board. I believe that I have proven my strengths in the past with my work on the openSUSE KDE desktop experience, the Chromium web browser as part of the standard openSUSE distribution and the integration of plymouth. 

Aims/Goals
If elected to the board
* I will strive to define, align and implement a new strategy process for the openSUSE releases together with the other board members
* I will try to find ways in which the openSUSE board can establish a better communication with its community
Regarding the KDE team
* I will continue to support the team in the best way I can
* I will strive and drive the team to make the best openSUSE KDE desktop experience ever