<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.invenzzia.org/en/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Invenzzia... in English - Tag - OPC</title>
  <link>http://blog.invenzzia.org/en/</link>
  <atom:link href="http://blog.invenzzia.org/en/feed/tag/OPC/rss2" rel="self" type="application/rss+xml"/>
  <description></description>
  <language>en</language>
  <pubDate>Thu, 23 May 2013 21:40:06 +0100</pubDate>
  <copyright>Copyright &amp;copy; Invenzzia</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Invenzzia Summary #4</title>
    <link>http://blog.invenzzia.org/en/post/Invenzzia-Summary-4</link>
    <guid isPermaLink="false">urn:md5:bb4c2b5f45fd27e6f647fdf4dcfa0b53</guid>
    <pubDate>Wed, 20 May 2009 15:04:00 +0200</pubDate>
    <dc:creator>Zyx</dc:creator>
        <category>Summaries</category>
        <category>community</category><category>development</category><category>OPC</category><category>OPT2</category><category>summary</category><category>typefriendly</category>    
    <description>&lt;p&gt;Welcome to the fourth episode of Invenzzia Summaries. The issues discussed today:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Incoming TypeFriendly 0.1.2 release&lt;/li&gt;
&lt;li&gt;Revised plans for 0.2 branch of TypeFriendly&lt;/li&gt;
&lt;li&gt;Open Power Classes&lt;/li&gt;
&lt;li&gt;Release plan for Open Power Template&lt;/li&gt;
&lt;/ol&gt;    &lt;h2&gt;Incoming TypeFriendly 0.1.2 release&lt;/h2&gt;


&lt;p&gt;Before the end of May 2009, Invenzzia is going to release TypeFriendly 0.1.2, a HTML documentation builder with Markdown syntax. It will contain some new features and improvements that can be currently found in the SVN repository:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;New tag manager that validates the contents and use of the tags in the chapters.&lt;/li&gt;
&lt;li&gt;Support for creating appendices added.&lt;/li&gt;
&lt;li&gt;New tags:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;MultiExtends&lt;/code&gt; - specifying the base classes for languages with multiple inheritance&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Throws&lt;/code&gt; - thrown exceptions.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Construct&lt;/code&gt; - specifying the type of described programming construct (classes, interfaces etc.)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Type&lt;/code&gt; - specifying the item type&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Arguments&lt;/code&gt; - specifying and describing the function arguments&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Returns&lt;/code&gt; - describing, what the function returns.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;VCSKeywords&lt;/code&gt; - a place for expanding SVN keywords that can be also optionally displayed in the output.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Appendix&lt;/code&gt; - support for appendices&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FeatureInformation&lt;/code&gt; - allows to define a messages in the project configuration that may be later prepended to the chapters.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Improved command-line interface. The usage has been changed (please take a look at the details on wiki)&lt;/li&gt;
&lt;li&gt;New book creation wizard.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The release will also fix some bugs found in the previous release.&lt;/p&gt;


&lt;h2&gt;Plans for TypeFriendly 0.2&lt;/h2&gt;


&lt;p&gt;The release of TypeFriendly 0.2.0 has been moved further to the future (Summer 2009) due to the recent revision of the goals. The new TypeFriendly will consist of three parts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;TypeFriendly library - the documentation management functionality will be collected into a library independent from the command-line interface code that can be used by the programmers to include the TypeFriendly documenting system features into their project.&lt;/li&gt;
&lt;li&gt;Command-line interface - build with TypeFriendly library will provide the features similar to the current TypeFriendly 0.1 release.&lt;/li&gt;
&lt;li&gt;Web interface - since 0.2.0, you will be able to install TypeFriendly web interface on your website to run a public documentation repository with automatic uploaders, user comments etc. This feature is addressed especially to the developer teams that wish to publish the on-line documentations for their products.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TypeFriendly 0.2 will use Open Power Template both to render the static documents and in the web interface. The Markdown parser will be expanded with new features, such as mathematical formulas support. However, generating the documents in other formats than HTML will not be still possible, as we need to design our own Markdown parser and this is a longer-term goal.&lt;/p&gt;


&lt;h2&gt;Open Power Classes&lt;/h2&gt;


&lt;p&gt;The development of Open Power Classes slowly begins. eXtreme added a nice paginator class with OPT support, and I am working on the native caching system for OPT that will be available as &lt;code&gt;Opc_Cache&lt;/code&gt;. Open Power Classes is going to be a collection of small utility classes to support other libraries.&lt;/p&gt;


&lt;h2&gt;Release plan for Open Power Template&lt;/h2&gt;


&lt;p&gt;There will be another Release Candidate version, as there have been found some small, but annoying bugs in the parser. The first stable version will be released in the first half of June then.&lt;/p&gt;


&lt;h2&gt;They wrote about...&lt;/h2&gt;


&lt;p&gt;Last Saturday, a nice note about TypeFriendly was published by &lt;a href=&quot;http://blog.fedecarg.com/&quot; hreflang=&quot;en&quot;&gt;Federico Cargnelutti&lt;/a&gt; on his blog. We are looking forward to the next publications about Invenzzia projects.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.invenzzia.org/en/post/Invenzzia-Summary-4#comment-form</comments>
      <wfw:comment>http://blog.invenzzia.org/en/post/Invenzzia-Summary-4#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.invenzzia.org/en/feed/atom/comments/60</wfw:commentRss>
      </item>
    
  <item>
    <title>Invenzzia Summary #1</title>
    <link>http://blog.invenzzia.org/en/post/Invenzzia-Summary-1</link>
    <guid isPermaLink="false">urn:md5:82ee68fc853e2436ea629bcf9357c141</guid>
    <pubDate>Fri, 10 Apr 2009 22:02:00 +0200</pubDate>
    <dc:creator>Zyx</dc:creator>
        <category>Summaries</category>
        <category>community</category><category>invenzzia</category><category>OPC</category><category>OPF</category><category>OPT2</category><category>summary</category>    
    <description>&lt;p&gt;This is the first episode of the Invenzzia Summaries, a way to inform about various events and activities of Invenzzia Group and the development of the open-source projects. We will try to publish them regularly, but the exact period depends on the amount of issues worth concerning. In the first episode, we will talk about the last beta version of Open Power Template and the new projects that are going to use it.&lt;/p&gt;    &lt;h2&gt;Open Power Template 2,0-beta3&lt;/h2&gt;


&lt;p&gt;This is a pretty fresh news, because the packages have been published about an hour ago. The new and the last beta release contains lots of various bugfixes and improvements, such as new, more stable section implementation or data formats. Finally, the entity issue has been also solved once and for all. We have decided to use the XSLT model, where the entities are parsed on the server-side, and only the special XML characters appear as entities in the output. The end user will see no difference, especially if he/she uses Unicode. For those ones who need to display a particular entity in the output, there is a new function: &lt;code&gt;entity()&lt;/code&gt;. Please note that it must be used with the escaping turned off, for example:&lt;/p&gt;

&lt;pre&gt;
&amp;lt;p&amp;gt;The entity: {u:entity('Acute')}&amp;lt;/p&amp;gt;
&lt;/pre&gt;


&lt;p&gt;The new version can be downloaded from &lt;a href=&quot;http://www.invenzzia.org/en/download/opt/2-0/2-0-beta3&quot; hreflang=&quot;en&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;The remaining issues in OPT.&lt;/h2&gt;


&lt;p&gt;One could ask, what needs to be checked in OPT before the first stable release will appear. Well, the library is already pretty stable now, after some recent bugfix parties and significant effort taken by the users in finding them. The only feature that has not been tested yet is the cache interface port. Furthermore, there are some unit tests still to write and the documentation to finish. Currently, the test suite consists of about 400 unit tests, but there are some areas that are poorly covered with them:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Template functions.&lt;/li&gt;
&lt;li&gt;The standard data formats.&lt;/li&gt;
&lt;li&gt;XML node manipulation API.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now, just to finish the remaining jobs and release the first stable version.&lt;/p&gt;


&lt;h2&gt;Who uses OPT?&lt;/h2&gt;


&lt;p&gt;Recently, the development team of Extreme-Fusion CMS announced that Open Power Template 2 will be the primary template engine in the new version of their project, EF V. Extreme-Fusion is a quite popular Polish CMS, a fork of PHP-Fusion. The new version is going to be rewritten from scratch on the Kohana framework and OPT 2. Those who know Polish, may read the announcement on their &lt;a href=&quot;http://dev.extreme-fusion.pl/2009/03/29/o-nowym-ef-v-slow-kilka/&quot; hreflang=&quot;pl&quot;&gt;development blog&lt;/a&gt; (unfortunately, they do not provide English-language version, like Invenzzia :( ).&lt;/p&gt;


&lt;p&gt;Another application that uses OPTv2 is the project with the codename &quot;Arbiter&quot;. It is a system for &lt;a href=&quot;http://www.agh.edu.pl&quot; hreflang=&quot;pl&quot;&gt;AGH University of Science and Technology in Krakow&lt;/a&gt; that allows to organize programming competitions and automated program testing for computer science students. Because I'm involved in its creation, I'll try to write more about it in the next few days, as the first version is going to be run soon. The application is built on Zend Framework, Doctrine and OPTv2. It has been used as the prototype for the OPL4ZF port and the experimental field for OPTv2.&lt;/p&gt;


&lt;h2&gt;What about Open Power Classes?&lt;/h2&gt;


&lt;p&gt;The &quot;Opc&quot; directory remains empty on SVN, however this should change in the near future. The problems were caused with the huge amount of work with OPT debugging and I couldn't find more time to push this project, too. Moreover, I'm preparing the UML design for Open Power Forms, a form management tool based on OPT. I'll try to publish the results in the next two weeks.&lt;/p&gt;


&lt;h2&gt;Polish support improvements?&lt;/h2&gt;


&lt;p&gt;A few days ago, two users contacted Invenzzia asking for the possibility of establishing a better Polish-language support. The support concerns translating the original English materials into Polish on a secondary wiki. Currently, we are thinking, how to set up a bilingual infrastructure. We are pleased that the Invenzzia community grows constantly and becomes more and more active, however it would be nice to see more non-Polish users here. As you can easily notice, the main language is English and receiving support in this language is as easy, as in Polish. The Czech and Slovak users may also attempt to contact in their native languages, as one of the team members knows Slovak and may understand them :).&lt;/p&gt;


&lt;h2&gt;Conclusion&lt;/h2&gt;


&lt;p&gt;This is the end of the first Invenzzia Summary. I hope you have enjoyed this form of providing the recent news and issues.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.invenzzia.org/en/post/Invenzzia-Summary-1#comment-form</comments>
      <wfw:comment>http://blog.invenzzia.org/en/post/Invenzzia-Summary-1#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.invenzzia.org/en/feed/atom/comments/55</wfw:commentRss>
      </item>
    
  <item>
    <title>Open Power Classes: Visit information</title>
    <link>http://blog.invenzzia.org/en/post/Open-Power-Classes%3A-Visit-information</link>
    <guid isPermaLink="false">urn:md5:a7e3d3b815a05fc96c1833003e379160</guid>
    <pubDate>Sun, 28 Sep 2008 21:55:00 +0200</pubDate>
    <dc:creator>Zyx</dc:creator>
        <category>Open Power Classes</category>
        <category>development</category><category>OPC</category><category>visit</category>    
    <description>&lt;p&gt;I'm currently working on a project written in Zend Framework and while trying to secure sessions, I noticed that this utility does not have any class that collects everything about the visitor and the request. The problem is quite serious, as many values in &lt;code&gt;$_SERVER&lt;/code&gt; depend on the installed server software, PHP mode (module, CGI, FastCGI...) and many other things. This means that the scripts should not rely on them without a proper processing, because it can even crash whole website after the software change (I experienced it not so long ago). Thankfully, I noticed that in the old OPF code, I have a class called &lt;code&gt;opfVisit&lt;/code&gt; that does this job. Now it's a part of the new Open Power Classes project :).&lt;/p&gt;    &lt;p&gt;Currently, the class &lt;code&gt;Opc_Visit&lt;/code&gt; provides the following information:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;IP address&lt;/li&gt;
&lt;li&gt;Host address&lt;/li&gt;
&lt;li&gt;Current request addresses, paths, file names, all server-independent, mod_rewrite-independent etc.&lt;/li&gt;
&lt;li&gt;Accepted browser languages, sorted by the priority.&lt;/li&gt;
&lt;li&gt;Cookie server and cookie path detection.&lt;/li&gt;
&lt;li&gt;Protocol and port detection.&lt;/li&gt;
&lt;li&gt;Browser detection (recognizes 26 browsers and search engines)&lt;/li&gt;
&lt;li&gt;Operating system detection (recognizes 10 Windows versions, 14 Linux distributions and 7 other Unix clones, including MacOS).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Below, we can see a sample test script output called on my computer as &lt;code&gt;http://opl.libs.lh/trunk/dev/opc/test_visit.php/foo?bar=joe&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;
IP: 127.0.0.1
numericIP: 2130706433
host: localhost.localdomain
currentAddress: http://opl.libs.lh/trunk/dev/opc/test_visit.php/foo?bar=joe
currentFile: http://opl.libs.lh/trunk/dev/opc/test_visit.php
currentParams: /foo
currentPath: http://opl.libs.lh/trunk/dev/opc/
fileName: test_visit.php
pathInfo: /foo?bar=joe
protocol: http
port: 80
secure: false
languages: array ( 0 =&amp;gt; 'pl-PL', 1 =&amp;gt; 'pl', 2 =&amp;gt; 'en', )
browser: Opera 9.52
OS: Arch Linux 
cookieServer: opl.libs.lh
cookiePath: /trunk/dev/opc/
&lt;/pre&gt;


&lt;p&gt;The class API is more than simple:&lt;/p&gt;

&lt;pre&gt;php
&amp;lt;?php
	// OPL Initialization
	require('../../lib/opl/base.php');
	Opl_Loader::setDirectory('../../lib/');
	Opl_Registry::setState('opl_debug_console', true);
	spl_autoload_register(array('Opl_Loader', 'autoload'));
    
	try
	{
		$visit = Opc_Visit::getInstance();
    	
		$paramList = array(0 =&amp;gt;
			'IP', 'numericIP', 'host', 'currentAddress', 'currentFile', 'currentParams', 'currentPath', 'fileName',
			'pathInfo', 'protocol', 'port', 'secure', 'languages', 'browser', 'OS', 'cookieServer', 'cookiePath');
		
		echo '&amp;lt;ol&amp;gt;';
		foreach($paramList as $par)
		{
			$value = $visit-&amp;gt;$par;
			if(is_bool($value))
			{
				$value = ($value ? 'true' : 'false');
			}
	 		elseif(is_array($value))
			{
				$value = var_export($value, true);
			}
			echo '&amp;lt;li&amp;gt;'.$par.': &amp;lt;code&amp;gt;'.$value.'&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;';
		}
		echo '&amp;lt;/ol&amp;gt;';
	}
	catch(Opl_Exception $e)
	{
		Opl_Error_Handler($e);
	}
?&amp;gt;
&lt;/pre&gt;


&lt;p&gt;We have here the singleton implementation and the magic &lt;code&gt;__get&lt;/code&gt; method used to generate and return the requested values.&lt;/p&gt;


&lt;p&gt;The class will be available in our SVN repository tomorrow or on Thursday, because I must clean up the code and add the recent inventions, such as Google Chrome or Windows Vista to the detectors.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.invenzzia.org/en/post/Open-Power-Classes%3A-Visit-information#comment-form</comments>
      <wfw:comment>http://blog.invenzzia.org/en/post/Open-Power-Classes%3A-Visit-information#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.invenzzia.org/en/feed/atom/comments/40</wfw:commentRss>
      </item>
    
</channel>
</rss>