Derick Rethans | 1 Aug 2008 15:40
Picon
Favicon
Gravatar

Re: Database component - Exception implementation

On Tue, 29 Jul 2008, Simon Wippich wrote:

> I'm sorry to disturb you with a small problem that should be obvious.  
> I use the database component to connect my DB. My problem is that my  
> application just stops working in case that the database behind my DSN  
> is not available. Is there an exception that can be intercepted in  
> this specific case or how can I handle that kind of error? Somehow I  
> did not succeed in implementing that one. Thank you for any hint or a  
> short example...

You should get an (PDO) exception automatically already - how does your 
code look like?

regards,
Derick

--

-- 
Derick Rethans
eZ components Product Manager
eZ systems | http://ez.no
Tobias Schlitt | 2 Aug 2008 19:33
Picon
Favicon

Re: [PersistentObject] Design: Identity map and relation pre-fetching support

Hi!

On 07/06/2008 11:29 AM James Pic wrote:

> Tobias Schlitt wrote:
>> On 07/04/2008 01:25 PM James Pic wrote:
>>> Tobias Schlitt wrote:
>>>> On 07/02/2008 02:11 PM James PIC wrote:
>>>>> On Wed, Jul 2, 2008 at 9:19 AM, Tobias Schlitt <ts <at> ez.no> wrote:
>>>>>> On 07/01/2008 05:53 PM James Pic wrote:

>>>> If it was for me, we would provide an extended identity map class in a
>>>> Cache tiein that maintains a request local identity map (as it does
>>>> now).

>>> Would that really be efficient to fetch a cached state from a file containing
>>> 500 thousands of states?

>> Each identity will be a single file::

>> $id = "$class__$id";
>> $cache->store( $id, $persistentObject );
> 
> Can't we do this in a "transparent" manner?
> If this was done in a session child or decorator, it could cache reverse
> relations as well.

I don't see a reason for it. You still can do it in a second decorator.
Still does not make any sense to me, since the logic for incooperating
the identity map (with or without cache) does not change, but only the
(Continue reading)

Derick Rethans | 4 Aug 2008 13:31
Picon
Favicon
Gravatar

Bug fix releases

The eZ Components team just released new versions of the Base, Document, 
Mail, Template, Tree, Url and Webdav components that address minor bugs 
in those components.

New versions are exclusively available through our PEAR channel, and can 
be installed through the PEAR installer with:

pear upgrade ezc/Base
pear upgrade ezc/Document
pear upgrade ezc/Mail
pear upgrade ezc/Template
pear upgrade ezc/Tree
pear upgrade ezc/Url
pear upgrade ezc/Webdav

The full change log can be found in the release announcement:
http://ezcomponents.org/resources/news/news-2008-08-04

with kind regards,
--

-- 
Derick Rethans
eZ components Product Manager
eZ systems | http://ez.no
Hans Melis | 4 Aug 2008 14:22
Picon
Favicon

Re: Something wrong with ezcDebug?

With a bit of delay, but I've filed the issues. The links are below:

> * The log method takes a verbosity as second parameter, which is then 
> added to $extraInfo for the ezcLog::log method. I expected the second 
> parameter to be severity instead, but severity is always set to 
> ezcLog::DEBUG. Verbosity can be added to $extraOptions anyway.
> => There is no way to set the severity of a message when using the log 
> method.

http://issues.ez.no/IssueView.php?Id=13452

> * Using ezcDebug::debugHandler as error handler gives a severity as long 
> as the error level is E_USER_*, otherwise it's 'false'. But then the 
> severity is passed as second parameter to the log() method, which uses 
> that as verbosity. This seems really messed up to me...

http://issues.ez.no/IssueView.php?Id=13453

> * ezcDebug::debugHandler is inferior to ezcLog::logHandler. Through 
> logHandler it's possible to add a severity between the square brackets. 
> This feature is not available when using debugHandler.

http://issues.ez.no/IssueView.php?Id=13454

> * The debug HTML output uses verbosity in its output 
> (verbosity:category:source). This can lead to something like this:
> 1:default:default.
> I was under the impression that it used to output the pretty name of 
> ezcLog severity constant (e.g. Error) instead of the verbosity level. 
> The severity is more useful anyway. I can log an error, but the output 
(Continue reading)

Thomas Koch | 7 Aug 2008 09:14
Picon
Gravatar

ezc-addon to manipulate database schemas

Good morning,

Yesterday my bosses were so kind to let me work on my pet CMS project.
(Every PHP programmer needs to program a CMS once, doesn't he?) The
result is an addon to ezcDbSchema which let's manipulate database
schemes via a fluent interface.

More details at 
http://www.koch.ro/blog/index.php?/archives/86-eZ-Components-Add-on-Manipulate-Database-Schemas.html
or more tiny
http://tinyurl.com/64zvjo

Best regards,
--

-- 
Thomas Koch, Software Developer
http://www.koch.ro

Young Media Concepts GmbH
Sonnenstr. 4
CH-8280 Kreuzlingen
Switzerland

Tel    +41 (0)71 / 508 24 86
Fax    +41 (0)71 / 560 53 89
Mobile +49 (0)170 / 753 89 16
Web    www.ymc.ch

James Pic | 7 Aug 2008 16:03
Picon
Gravatar

Flexible application with PersistentObject and MvcTools

Hello everybody,

Hard times
==========

Currently, it's *very* hard to maintain an eZ Components app using around a
hundred of models with constant updates, because you have to repeat yourself:
- edit the database schema file,
- edit the persistent object definitions,
- edit the class code,
- edit the form,
- edit the controllers,
- synchronize the database (one-liner).

A few helpers are provided:
- schema to persistent object definitions converter: which looses relations.
- class generator: which creates a minimal class with public properties.

Problem:
My clients are, in majority, outstanding poeple that are very Human, and hard
workers. I am very concerned by their success, which i assume is the same for eZ
Systems.
I don't want to charge a day of work to add/remove/change a field in the model
layer (i even already charged for 2 days, to update all my fixtures).

dzFramework
===========

This is the reason why I'm currently developping a port of Django Python
framework to eZ Components, as a temporary solution: until ezp5 framework.
(Continue reading)

Ramon Poca | 8 Aug 2008 10:27
Picon

Saving incomplete workflows

Hi there!

I'm evaluating ezcWorkflow to use for an in-house application.

One thing  I'm  trying to do is  some kind of  workflow edition.

My idea was to save incomplete workflows to the database.

But, at the very first line, the  ezcWorkflowDatabaseDefinitionStorage->save()  function does a $workflow->verify(), and aborts with an exception.

Is it really such a bad idea to save an incomplete graph (as long as you don't use it)? :-)
Could verification be optional (via a default parameter, for example)?


--

<div>
Hi there!<br><br>
I'm evaluating ezcWorkflow to use for an in-house application. <br><br>
One thing&nbsp; I'm&nbsp; trying to do is&nbsp; some kind of&nbsp; workflow edition. <br><br>
My idea was to save incomplete workflows to the database. <br><br>
But, at the very first line, the&nbsp;
ezcWorkflowDatabaseDefinitionStorage-&gt;save()&nbsp; function does a
$workflow-&gt;verify(), and aborts with an exception.<br><br>
Is it really such a bad idea to save an incomplete graph (as long as
you don't use it)? :-)<br>
Could verification be optional (via a default parameter, for example)?<br><br><br><div class="moz-signature">-- <br><div align="left">
<p>Ramon Poca
Cos<br>Senile Developer<br><a href="mailto:ramon.poca@...">ramon.poca@...</a></p>
</div>
<br>
</div>
</div>
Sebastian Bergmann | 10 Aug 2008 09:32
Picon
Favicon

Re: Saving incomplete workflows

Ramon Poca wrote:
> Could verification be optional (via a default parameter, 
> for example)?

  Interesting idea. Could you please open an issue for this so I do not
  forget about it?

  Thanks!
Sebastian

-- 
Sebastian Bergmann                          http://sebastian-bergmann.de/
GnuPG Key: 0xB85B5D69 / 27A7 2B14 09E4 98CD 6277 0E5B 6867 C514 B85B 5D69

Ramon Poca wrote:
> Could verification be optional (via a default parameter, 
> for example)?

  Interesting idea. Could you please open an issue for this so I do not
  forget about it?

  Thanks!
Sebastian

--

-- 
Sebastian Bergmann                          http://sebastian-bergmann.de/
GnuPG Key: 0xB85B5D69 / 27A7 2B14 09E4 98CD 6277 0E5B 6867 C514 B85B 5D69

Thomas Koch | 12 Aug 2008 17:03
Picon
Gravatar

[Document] Wikilinks in ReST

Hi Kore,

I adapted[1] a little Wiki script to use ezcDocument. Now I wounder what
would be the best way to write Wikilinks in ReST. They should be as
short as possible and maybe even correspond to other ReST based Wikis
like MoinMoin[3] or Trac[4].

My personal favorite is the MoinMoin syntax:
[:HelpContents:Contents of the Help]

Would it be possible to have a kind of hook to parse CamelCase words as
Wikilinks? There are people who like them (not me).

[1] http://git.koch.ro/?p=wigit;a=summary
[2] http://el-tramo.be/software/wigit
[3] http://moinmoin.wikiwikiweb.de/HelpOnLinking
[4] http://trac.edgewall.org/wiki/WikiRestructuredText

Gruesse,
--

-- 
Thomas Koch, Software Developer
http://www.koch.ro

Young Media Concepts GmbH
Sonnenstr. 4
CH-8280 Kreuzlingen
Switzerland

Tel    +41 (0)71 / 508 24 86
Fax    +41 (0)71 / 560 53 89
Mobile +49 (0)170 / 753 89 16
Web    www.ymc.ch

Montgomery, Thomas | 12 Aug 2008 17:52

Workflow - Synchronizing Merge Issue

Hi there,

 

I’ve been working with the Workflow component for a little while, and I felt like I was starting to get the hang of it, until I ran into this little problem that I can’t seem to figure out.  It could be that I’m not using the nodes in the intended way, or it could be that I’m too stupid to see what’s obviously right in front of my face.  Either way, some help would be appreciated.

 

Scenario: I have a parallel split, followed (later) by a synchronizing merge.  In one (or both, it doesn’t really matter) of the two execution branches, I have an exclusive choice after an input, that tells the branch whether to loop back or to continue on to the synchronization point based on the value of a variable set by the input node. See attached image.

 

The little dummy class I wrote (“eh”) is just to spit something out to the console so I can tell what’s happening.  Attached is the script I wrote that accomplishes this.

 

Basically, me expectation is that the synchronizing merge will wait until the exclusive choice node chooses the path that points to the synchronizing merge node, but it doesn’t seem to be doing that.

 

When I execute the workflow like so:

 

Start(); //execution stops at each branch’s input nodes, as expected

Resume(array(‘foo’ => ‘asdf’)); //make the exclusive choice loop continue; execution stops at each branch’s input nodes, as expected

Resume(array(‘foo’ => ‘bar’));  //make the exclusive choice loop break (execution continues past the synchronizing merge node for some reason); execution “stops” at the remaining branch’s input node

Resume(array(‘bar’ => ‘baz’)); //make the other branch node continue on to the synchronizing merge node

 

What happens is that the workflow “finishes,” meaning that execution continues past the synchronizing merge node even though the other branch (the branch waiting for ‘bar’ input variable) has not completed. A screenshot of the script’s result can be seen in the attached merge_result.png.

 

I’ve been working on this for about 6 hours and can’t figure out why it would do that.  My only thinking is that it’s either a bug or I’m doing something incorrect.

 

Any help is appreciated.  If more clarification is needed, I can provide it.

 

Thanks,

Tommy

IMPORTANT NOTICE: This e-mail message is intended to be received only by persons entitled to receive the confidential information it may contain. E-mail messages sent from Bridgepoint Education, Inc. may contain information that is confidential and may be legally privileged. Please do not read, copy, forward or store this message unless you are an intended recipient of it. If you received this transmission in error, please notify the sender by reply e-mail and delete the message and any attachments.
Attachment (merge.php): application/octet-stream, 2346 bytes
<div>

<div class="Section1">

<p class="MsoNormal"><span>Hi there,<p></p></span></p>

<p class="MsoNormal"><span><p>&nbsp;</p></span></p>

<p class="MsoNormal"><span>I&rsquo;ve been working with the Workflow component for a
little while, and I felt like I was starting to get the hang of it, until I ran
into this little problem that I can&rsquo;t seem to figure out.&nbsp; It could
be that I&rsquo;m not using the nodes in the intended way, or it could be that
I&rsquo;m too stupid to see what&rsquo;s obviously right in front of my
face.&nbsp; Either way, some help would be appreciated.<p></p></span></p>

<p class="MsoNormal"><span><p>&nbsp;</p></span></p>

<p class="MsoNormal"><span>Scenario: I have a parallel split, followed (later) by a
synchronizing merge.&nbsp; In one (or both, it doesn&rsquo;t really matter) of
the two execution branches, I have an exclusive choice after an input, that
tells the branch whether to loop back or to continue on to the synchronization
point based on the value of a variable set by the input node. See attached image.<p></p></span></p>

<p class="MsoNormal"><span><p>&nbsp;</p></span></p>

<p class="MsoNormal"><span>The little dummy class I wrote (&ldquo;eh&rdquo;) is just to
spit something out to the console so I can tell what&rsquo;s happening.&nbsp;
Attached is the script I wrote that accomplishes this.<p></p></span></p>

<p class="MsoNormal"><span><p>&nbsp;</p></span></p>

<p class="MsoNormal"><span>Basically, me expectation is that the synchronizing merge
will wait until the exclusive choice node chooses the path that points to the
synchronizing merge node, but it doesn&rsquo;t seem to be doing that.<p></p></span></p>

<p class="MsoNormal"><span><p>&nbsp;</p></span></p>

<p class="MsoNormal"><span>When I execute the workflow like so:<p></p></span></p>

<p class="MsoNormal"><span><p>&nbsp;</p></span></p>

<p class="MsoNormal"><span>Start(); //execution stops at each branch&rsquo;s input
nodes, as expected<p></p></span></p>

<p class="MsoNormal"><span>Resume(array(&lsquo;foo&rsquo; =&gt; &lsquo;asdf&rsquo;)); //make
the exclusive choice loop continue; execution stops at each branch&rsquo;s
input nodes, as expected<p></p></span></p>

<p class="MsoNormal"><span>Resume(array(&lsquo;foo&rsquo; =&gt; &lsquo;bar&rsquo;)); &nbsp;//make
the exclusive choice loop break (execution continues past the synchronizing
merge node for some reason); execution &ldquo;stops&rdquo; at the remaining branch&rsquo;s
input node<p></p></span></p>

<p class="MsoNormal"><span>Resume(array(&lsquo;bar&rsquo; =&gt; &lsquo;baz&rsquo;));
//make the other branch node continue on to the synchronizing merge node<p></p></span></p>

<p class="MsoNormal"><span><p>&nbsp;</p></span></p>

<p class="MsoNormal"><span>What happens is that the workflow &ldquo;finishes,&rdquo;
meaning that execution continues past the synchronizing merge node even though
the other branch (the branch waiting for &lsquo;bar&rsquo; input variable) has
not completed. A screenshot of the script&rsquo;s result can be seen in the
attached merge_result.png.<p></p></span></p>

<p class="MsoNormal"><span><p>&nbsp;</p></span></p>

<p class="MsoNormal"><span>I&rsquo;ve been working on this for about 6 hours and can&rsquo;t
figure out why it would do that.&nbsp; My only thinking is that it&rsquo;s
either a bug or I&rsquo;m doing something incorrect.<p></p></span></p>

<p class="MsoNormal"><span><p>&nbsp;</p></span></p>

<p class="MsoNormal"><span>Any help is appreciated.&nbsp; If more clarification is
needed, I can provide it.<p></p></span></p>

<p class="MsoNormal"><span><p>&nbsp;</p></span></p>

<p class="MsoNormal"><span>Thanks,<p></p></span></p>

<p class="MsoNormal"><span>Tommy<p></p></span></p>

</div>

IMPORTANT NOTICE: This e-mail message is intended to be received only by persons entitled to receive the confidential information it may contain. E-mail messages sent from Bridgepoint Education, Inc. may contain information that is confidential and may be legally privileged. Please do not read, copy, forward or store this message unless you are an intended recipient of it. If you received this transmission in error, please notify the sender by reply e-mail and delete the message and any attachments.
</div>

Gmane