17 Sep 2018

feedshare.ez.no > All forums (topics and replies)

Migration from eZ Publish Community Project 2014.07 to 2018.6.1

Dear Community,

I'm wondering how to upgrade from

eZ Publish Community Project 2014.07

http://share.ez.no/downloads/downloads/ez-publish-community-project-2014.07

to

ezpublish-legacy 2018.6.1

https://github.com/ezsystems/ezpublish-legacy/releases/tag/v2018.06.1

Is there any documentation? When looking at the installation link in Git (http://doc.ez.no/eZ-Publish) I am only finding ressources on how to upgrade from 4.x. Which v4.x version corresponds with the community versioning system?

Any help greatly appreciated. Thanks.

Best,

Andreas

17 Sep 2018 1:34pm GMT

07 Sep 2018

feedeZ News

The Week in Review: Translations, Product Feedback and More

News

Help us Translate eZ Platform

eZ Platform 2.3 will be released at the end of this month. If you are using eZ Platform in a multilingual environment, now would be the time to join our translation effort. Get your own language ready and shipped with 2.3!

We have setup a server running the demo, based on the latest version of eZ Platform. This server is shared with the public and enables in-context translation. All you need is an account on Crowdin.com and follow the tutorial shared here.

Improving our Product Feedback Channels

This week a new channels was added to our Community Slack workspace, called #product-feedback. If you have feedback on current features available in eZ Platform, or think we should add a feature on the roadmap which is not yet available in eZ Platform, do leave a message in this channel. Adding a clear use case will help!

This new channel is monitored by the Product team of eZ. Your feedback will become available within an internal tool used by the Product team. Stay tuned for more news on this topic, as we are planning more additions to our feedback channel in general.

Reminder: CMS Critic Award Nominations

The CMS Critic Award nominations are open again. In 2016 we won the award for Best Enterprise CMS, and in 2017 we were runner up in the same category with eZ Platform. Head over the the CMS Critic website to vote for eZ Platform!

All you need to do is enter your e-mail, put "eZ Platform, Best Enterprise CMS" under solution and provide the reason for which you think we deserve this award.

In Other News:

Resources

Simple RSS and Translation Command

Nothing better than Community Members sharing their work. This week Rémy shared two pieces of his work. The first one being an RSS Bundle which allows you to get the X most recent Articles under the content.tree_root.location_id of the siteaccess.

His second work is a script that allows you to create translations of content in a tree structure. Sébastien Morel replied to this with an existing Bundle by eZ Systems that lets you translate content using Google Translate

Looking for a bundle compatible with eZ Platform? Check out: https://ezplatform.com/Bundles.

Social Media

Thank you all for another wonderful #websc! Especially to our terrific speakers and sponsors led by @awscloud & @eZSystems. Now for a wrap-up and the preparations for 2019 can officially commence #web #conference #rovinj pic.twitter.com/JhckPcm8w8

- Web Summer Camp (@WebSummerCamp) September 2, 2018

hey #symfony #sf #SanFrancisco community.Ready for a meetup in September? Trying to gather everyone. Here is a doodle https://t.co/yBpP9GRDip, discussion https://t.co/aoRgOWnkw9 let's meet! #ezcommunity #sylius #magento #prestashop #laravel #sulu #drupal #wordpress #cakephp #php pic.twitter.com/RVFuijhk9m

- Sébastien Morel (@Plopix) August 30, 2018
View this post on Instagram

The illustration for a Symfony full-stack framework. #illustration #drawing #ui #webdesign #landingpage #design #çizim #ibex #animal #web #instadraw

A post shared by Hakan Ertan (@hakan.ertann) on Sep 4, 2018 at 11:59am PDT

Follow us on Twitter, Facebook, LinkedIn, Google+, or YouTube, and join our Community for any help with eZ Platform or community-related questions.

Find eZ at These Events

For more events, make sure to check out this list.

Each week we publish a roundup of highlights from the eZ ecosystem. If you have any news or events to share, please contact me.

(Lead image credit: Peter, CC)

07 Sep 2018 6:48pm GMT

24 Aug 2018

feedeZ News

The Week in Review: Vote for eZ Platform, Sneak Peek eZ Platform 2.3 and More

News

CMS Critic Award Nominations

The CMS Critic Award nominations are open again. In 2016 we won the award for Best Enterprise CMS, and in 2017 we were runner up in the same category with eZ Platform. Head over the the CMS Critic website to vote for eZ Platform!

All you need to do is enter your e-mail, put "eZ Platform, Best Enterprise CMS" under solution and provide the reason for which you think we deserve this award.

Sneak Peek eZ Platform 2.3, Scheduling

eZ Platform 2.3 is due end of September. Amit Golan Gutin, Product Marketing Manager at eZ Systems, takes a sneak peek into one of the improved features, scheduling changes on your website.

"Previously, the Content Scheduler Block was called the Schedule Block. We decided to rename this feature to avoid any confusion of its purpose and functionality.

The Content Scheduler Block is for the Page Builder. When placed on the page, the Content Scheduler Block allows the editor to schedule when and which content will appear and move in the block, whether that be a news headline, new marketing campaign, new product release, or anything time sensitive."

Read the full article.

Feedback Requested

How can we avoid issues with Siteaccess settings on defaultValue() & defaultNull() usage?

"Currently in SiteAccess config system in eZ Platform, when out of the box bundled and thirdparty bundles define their own config which should be siteaccess aware, eZ Platform reuses Symfony's NodeBuilder system for allowing us to express the config we want to expose as siteaccess settings."

André Rømcke, VP Technical Services & Support at eZ Systems, poses the question: how can we improve DX and avoid this issues completely?

Read the full scope and explanation of these issues on our forum, and do leave feedback if you have an opinion on this!

Community Survey Closed

Thank you to everyone who participated in the Community Survey! We received a fair amount of response which will provide us with more than enough data to finalize the eZ Community Strategy. Stay tuned and read more on this topic in the Week in Review soon.

In Other News:

Resources

New to our Community?

If you are new to our Community, check out our Open Source page and learn which resources are available, how to join, and also how you can contribute to eZ Platform.

Looking for a bundle compatible with eZ Platform? Check out: https://ezplatform.com/Bundles.

Social Media

Meet the speakers: @andrerom will talk about "Take your Http caching to the next level with xkey & Fastly" at #Symfony_Live London 2018 https://t.co/4Bq3YxrjpN We're very pleased to welcome Andre! Join us at the British #Symfony conference #PHP! pic.twitter.com/wlSBA0ZlAo

- Symfony Live (@symfony_live) August 8, 2018

[2/6] Our wonderful sponsors and friends have supported us through 8 years of the conference. Special thank you goes to our Platinum Sponsors - @awscloud, our first-time sponsor, and @eZSystems who have been with us ever since 2012.https://t.co/6IMPzSfn46#websc

- Web Summer Camp (@WebSummerCamp) August 21, 2018

Follow us on Twitter, Facebook, LinkedIn, Google+, or YouTube, and join our Community for any help with eZ Platform or community-related questions.

Find eZ at These Events

For more events, make sure to check out this list.

Each week we publish a roundup of highlights from the eZ ecosystem. If you have any news or events to share, please contact me.

(Lead image credit: Karsten Wentink, CC)

24 Aug 2018 4:00pm GMT

17 Aug 2018

feedeZ News

[Sneak Peek] Improving scheduling changes on your website with eZ Platform Enterprise 2.3

Content Scheduler Block Capabilities

Previously, the Content Scheduler Block was called the Schedule Block. We decided to rename this feature to avoid any confusion of its purpose and functionality.

The Content Scheduler Block is for the Page Builder. When placed on the page, the Content Scheduler Block allows the editor to schedule when and which content will appear and move in the block, whether that be a news headline, new marketing campaign, new product release, or anything time sensitive.

The Content Scheduler works very similarly to a regular content collection block. The main difference is when editors add content to the block, they can now choose when to add that content, whether that be right now or sometime in the future.

When content is added right away, it's added to the list of active content for the block. When content is added in the future, the editor needs to establish a date and time for when that content should "air," otherwise known as the "airtime."

When we reach airtime, the content will then be moved from the queue to the active list, pushing other content items further down in the block. To avoid an overflow of content, editors can now define a limit for the number of active content items.

For example, if an editor limits the number of active content items to 3 and the active list already shows 3 content items, then once a new content item is added, the last piece of content at the bottom of the list will be automatically pushed out of the list.

One thing we heard from eZ Platform 1.x users is that they wanted a simpler way to reorder items in the active list. We've now implemented a simple drag and drop function, like what can be done with the collection block.

Define block name and number of items in the Active list (display limit)

Add a content item to the queue with a specific airtime

Add several content items and some immediately visible (in the active list)

In the past, eZ Flow/Schedule Block users have utilized this feature in many ways. We received lots of feedback regarding different improvements that could be made. We plan on adding 2 new capabilities to the Content Scheduler Block in the future: pinning and swapping. Although we won't add them as part of v2.3, we hope to include them in v2.4. We also continue to welcome any feedback you may have about the Content Scheduler Block.

Looking ahead, what does "pinning" mean? Pinning a content item is when the editor forces a content item to stay in the same position and remain displayed on the website. If new content items are added to the block, then only the unpinned items will either move down the list or be pushed out.

The other future capability is called "swapping." Swapping is when the editor schedules a swap between one active content item and another inactive content item at a specific time and date. The new content item will then be placed in the queue until the scheduled time and date of the swap arrives.

Thanks to our users' feedback, the Content Scheduler Block features are now much simpler than previous versions. Specifically, the "overflow" feature (which let editors connect two Schedule Blocks together) has been removed.

Simply put, this feature was not very popular, and our users told us it was not bringing them much value. As ever, our goal is to always optimize as much as we can whenever and wherever we can.

Pinning a content item

Block Scheduler

The Block Scheduler is a new feature we're also introducing in v2.3. Unlike the Content Scheduler Block, which is a specific block, this feature will be available to every block configured on your project, including custom blocks.

With the Block Scheduler, an editor will be able to define the visibility of a block in advance by configuring the dates they would like the block to be visible or hidden from the page. The main benefit of this feature is that it makes things simpler for editors and saves them time when scheduling events.

Configuring the visibility of a block

In the future, we plan on introducing additional capabilities to the Block Scheduler. One capability we're thinking of developing allows editors to specify recurring visibility events. Just like you can define recurring events in a calendar, editors will also be able to define recurring visibility time slots on their site.

For example, an editor would be able to schedule a block so that it would be visible every day between 9 AM and 12 PM for the duration of one week.

Since we're waiting until after v2.3 to prioritize its development, we would love to hear any feedback about this feature or any other possible enhancements to block visibility.

Scheduling block to be visible from 9 AM - 12 PM

Timeline Feature

Similar to the Content Scheduler Block and the Block Scheduler features, the timeline is a unique feature that none of our competitors currently offer. This tool gives control to editors by providing information on what events are scheduled for their different pages.

The timeline functionality is simple, requiring the user to just select a date and/or time on the timeline or timeline calendar, in order to see all the events and actions that are scheduled. Users can also use the timeline to preview how the page will look at a specific time and date.

Compared to previous versions, the page timeline feature has been greatly improved. The timeline not only reacts to Content Scheduler Block events, but also to other scheduled events.

In other words, the timeline can indicate the following actions for editors:

In order to avoid a cluttered UI, the events' information is disclosed progressively, only showing the most relevant information (what and when). For more detailed information, we use tooltips, so that users can check with ease about the specific details of the event scheduled.

Finally, from the Developer Experience perspective, the timeline is also designed to provide developers with the ability to add custom events to the timeline when customizing and extending eZ Platform.

Page Timeline

Custom events on the timeline

Page timeline on the page builder

What to Expect Next?

We're confident that these new features will allow your editorial team to manage their content more efficiently and effortlessly.

We look forward to unveiling many more exciting features in this upcoming release at the end of September. We hope to include the new Form Builder as well as the new Personalization Block in the upcoming Enterprise Edition.

When it comes to the open source edition of eZ Platform, we are currently improving the Universal Discovery Widget (UDW); developing a new Image Asset field type that lets editors reuse images from Image fields; and continuously fixing bugs.

In the meantime, if you're interested or have any questions, please feel free to leave a comment here or on discuss.ezplatform.com. Feel free to reach out to us, too, at productmanagement@ez.no.

17 Aug 2018 2:59pm GMT

03 Aug 2018

feedshare.ez.no > All forums (topics and replies)

Re: Is it possible to an XML text block to ezflow blocks?

Has no one found a solution?

03 Aug 2018 3:49pm GMT

31 Jul 2018

feedshare.ez.no > All forums (topics and replies)

Re: runcrnjobs.php Mutex Stealing

Hi, I am having this problem with eZ Platform + Legacy Bridge. How can I resolve this problem as in PHP 7.2 the safe_mode directive does not exist anymore?

Thanks

31 Jul 2018 3:12pm GMT

12 Nov 2011

feeddrupal.org aggregator

Drupal core announcements: Core's directory structure reorganized

As of 2011-11-01, most files in Drupal core live in a 'core' subdirectory. We did this to make it easier to tell what's core vs. site-specific code (e.g. to discourage people from installing modules into the 'modules' subdirectory in the webroot) and to make it easier to upgrade to newer versions. See #22336: Move all core Drupal files under a /core folder to improve usability and upgrades for the full story and/or the API change record: Most Drupal core files now live in a "core" subdirectory.

One of the only drawbacks of this change is that bug fix patches for Drupal 7 no longer apply to Drupal 8 without being rerolled. However, generally it's easy re-roll a patch in this situation. xjm wrote up detailed instructions for re-rolling patches here: http://xjm.drupalgardens.com/blog/rerolling-drupal-8-core-patches

A more simple (but less effective in some cases) way to re-roll was written up by scor over at comment #306 of the original issue.

Please don't reopen the original issue with follow-up suggestions or bug reports -- those belong in new issues.

Core

12 Nov 2011 8:39am GMT

11 Nov 2011

feeddrupal.org aggregator

Morbus Iff: Achievements 7.x-1.4: Using print render($a) and render arrays

The Drupal Achievements module offers the ability to create achievements and badges similar to systems seen on Xbox 360, Playstation 3, Foursquare, Gowalla, GetGlue, and more. For a Drupal site, this could mean commenting a certain number of times, starting a forum topic, visiting the site every day of the week, or anything else that can be tracked and coded. The recently released 7.x-1.4 update focuses on changes that make theming easier.

In my first post about #theme_wrappers, we fixed up bad HTML in #prefix and #suffix to give themers an easier time. This post, about render arrays, is no different. In fact, most of the tweaks in Achievements 7.x-1.4 are not very obvious, or even useful, to module developers. It's only when you sit down with a themer who wants to change the entire look and feel that you realize your carefully-coded "looks good in Garland!" output is not as useful as you think.

Why render arrays are better

You've probably read about render arrays in the Drupal Developer's Handbook already, but the documentation doesn't really give a developer a decent reason why they should use them. It also doesn't talk about $content or splitting your variables into "data" and "presentation". I'll cover both below.

First, let's look at the wrong approach:

    $build['image'] = theme('image', array('path' => array('misc/druplicon.png')));

If this was passed to a theme file, the themer would simply print $image; and be done with it. The themer could even link the image if they wanted, but they wouldn't be able to add any classes or attributes to the image, since calling theme() directly always returns rendered HTML. Here's what the above looks like as a render array:

    $build['image'] = array(
      '#theme' => 'image',
      '#path' => 'misc/druplicon.png',
    );

To get this to display in the theme, we'd use print render($image); instead. In this case, the theme is telling Drupal to render the HTML, not your module. Why is this important? Ignoring the nebulous "I CAN'T ADD CSS CLASSES, SNIFF!" themer lament, consider the following small tweak to our original bad example:

    $image = theme('image', array('path' => array('misc/druplicon.png')));
    $build['image'] = l($image, 'node', array('html' => TRUE));

Here, we've simply added a link to our dummy image and the themer gets the fully rendered HTML to print out. Everything is toasty... unless the client or theme doesn't want or need the image to be linked. The themer now has no choice: they either have to use a regular expression to strip out the unwanted link or they have to recreate the $image variable in his own, well, image. Not only is that fragile (it's essentially copying module code to the theme and that code might change in a future version), but it also mixes too much logic with too little presentation. If the image's path isn't available to the theme as its own variable (it isn't, in the above example), the themer will still have to parse your rendered HTML to find the image's path first. Yuck.

Let's convert the above to a render array:

    $build['image'] = array(
      '#theme' => 'image_formatter',
      '#item' => array(
        'uri' => 'misc/druplicon.png',
      ),
      '#path' => array(
        'path' => 'node',
        'options' => array('html' => TRUE),
      ),
    );

Now, if the themer wants to remove the link, they can listen in a theme override, a preprocess, or even the dreaded hook_page_alter() and simply unset($variables['image']['#path'])'. No more link, without duplicating any upstream code or recreating things themselves. This is a real-life example, by the way - I just finished an optional submodule of Achievements which removes all links to the default leaderboards. I couldn't have easily done that if I used either of the link approaches below:

    $build['achievement_title'] = l($title, 'path/to/achievement');
    $build['achievement_title']['#markup'] = l($title, 'path/to/achievement');

But with the following render array:

    $build['achievement_title'] = array(
      '#type' => 'link',
      '#title' => $title,
      '#href' => 'path/to/achievemnt',
    );

I can make those links linkless:

  unset($variables['achievement_title']['#type']);
  $variables['achievement_title']['#markup'] = $variables['achievement_title']['#title'];

Data, presentation, and $content['a'] not $a

This doesn't mean that every single variable you pass to the theme should be a render array: there's clearly a difference between variables that represent data (an image path, the $node or $user object, a Unix timestamp, etc.) and variables that are meant for presentation (the linked image, the node's filtered teaser, a human-readable date, etc.).

There's a move afoot to more clearly indicate these two types by using a $content variable as a container for all the supplied render arrays. Drupal core does this in some places (node.tpl.php, for one), but not all, and it's slowly becoming a preferred practice in the theming world. Another benefit is the ability to use print render($content);, which says "render everything I haven't already rendered", allowing themes to display things that they, or the parent module, might not know about (new data added by a third party module in a preprocess, etc.). I've yet to implement this in Achievements, but I'll likely get there for the next release.

11 Nov 2011 6:57pm GMT

Trellon.com: Looking ahead to Drupalcon Denver

With each week that DrupalCon Denver is coming nearer, the excitement in the community grows. At Trellon, we're not immune to that excitement, and we're proud to be a Platinum sponsor of Drupalcon Denver. We're looking forward to seeing members of the Drupal community there, both old friends and new. We're excited about the opportunity that Drupalcons give us not only to learn more about the direction of Drupal, but to help shape it. We're eager to learn what new and exciting things people around the world have been doing with Drupal.

read more

11 Nov 2011 6:00pm GMT

09 Nov 2011

feedPlanet Zope.org

Updated MiniPlanet, now with meta-feed

My MiniPlanet Zope product has been working steady and stable for some years, when suddenly a user request came along. Would it be possible to get a feed of all the items in a miniplanet? With this update it became possible. MiniPlanet is an old-styl...

09 Nov 2011 9:41am GMT

07 Nov 2011

feedPlanet Zope.org

Welcome to Betabug Sirius

It has been quite some time that I announced_ that I'd be working as a freelancer. Lots of stuff had to be done in that time, but finally things are ready. I've founded my own little company and set up a small website: Welcome to Betabug Sirius!

07 Nov 2011 9:26am GMT

03 Nov 2011

feedPlanet Zope.org

Assertion helper for zope.testbrowser and unittest

zope.testbrowser is a valuable tool for integration tests. Historically, the Zope community used to write quite a lot of doctests, but we at gocept have found them to be rather clumsy and too often yielding neither good tests nor good documentation. That's why we don't use doctest much anymore, and prefer plain unittest.TestCases instead. However, doctest has one very nice feature, ellipsis matching, that is really helpful for checking HTML output, since you can only make assertions about the parts that interest you. For example, given this kind of page:

>>> print browser.contents
<html>
  <head>
    <title>Simple Page</title>
  </head>
  <body>
    <h1>Simple Page</h1>
  </body>
</html>

If all you're interested in is that the <h1> is rendered properly, you can simply say:

>>> print browser.contents
<...<h1>Simple Page</h1>...

We've now ported this functionality to unittest, as assertEllipsis, in gocept.testing. Some examples:

self.assertEllipsis('...bar...', 'foo bar qux')
# -> nothing happens

self.assertEllipsis('foo', 'bar')
# -> AssertionError: Differences (ndiff with -expected +actual):
     - foo
     + bar

self.assertNotEllipsis('foo', 'foo')
# -> AssertionError: "Value unexpectedly matches expression 'foo'."

To use it, inherit from gocept.testing.assertion.Ellipsis in addition to unittest.TestCase.


03 Nov 2011 7:19am GMT

13 Oct 2011

feedshare.ez.no > Articles and Tutorials

Building native mobile applications with the eZ Publish REST API

eZ Publish is a Web Content Management System that provides a platform to publish content via any channel. Its powerful presentation engine enables you to create websites and pages that display your content in a variety of renderings. Its powerful API directly and simply integrates your content with any web-enabled application on any device, such as the iPad, iPhone, or an Android device, without ever interfering with, or impacting the platform itself.

At the end of this tutorial, you will have learnt the basics of mobile application development for both iOS and Android platforms, consuming content from eZ Publish. CMS-side adjustments for the mobile channel will be acquired too. This cheatsheet will help you leverage the multichannel capabilities of eZ Publish, and its REST API in future projects, in a more systematic fashion.

13 Oct 2011 2:21pm GMT

16 Aug 2011

feedshare.ez.no > Articles and Tutorials

Image Maps in ezwebin Banners

Beginners guide for learning how to use image maps in the ezwebin extension.

16 Aug 2011 12:40pm GMT

07 Jul 2011

feedshare.ez.no > Articles and Tutorials

Building mobile browser and hybrid applications with eZ Publish

eZ Publish is a Web Content Management System that provides a platform to publish content via any channel. Its powerful presentation engine enables you to create websites and pages that display your content in a variety of renderings. Its powerful API directly and simply integrates your content with any web-enabled application on any device, such as the iPad, iPhone, or an Android device, without ever interfering with, or impacting the platform itself.

At the end of this tutorial, you will have learnt the basics of mobile application development for both iOS and Android platforms, consuming content from eZ Publish. CMS-side adjustments for the mobile channel will be acquired too. This cheatsheet will help you leverage the multichannel capabilities of eZ Publish, and its REST API in future projects, in a more systematic fashion.

07 Jul 2011 1:29pm GMT