23 Feb 2018

feedeZ News

The Week in Review: eZ Platform 1.13.1, Community Updates and More

News

eZ Platform 1.13.1 Released

eZ Platform 1.13.1 has been released. This is an update for eZ Platform 1.13 LTS. This release comes with many bug fixes and improvements, including to the PlatformUIBundle, content-on-the-fly prototype bundle and ezplatform-http-cache. For a full overview, check the release notes on GitHub. Note that there is also a 1.13.1.1 release.

eZ Platform Enterprise Edition is also available as 1.13.1 release. Release notes are also available on GitHub. For future releases, check our roadmap.

Community Updates

The eZ Community Board is preparing the renewal of its Board members. Keep an eye on ezplatform.com for a blog post next week announcing when nominations will open. Some of the benefits of joining the Community Board are growing your leadership skills, and also being part of the decision making process and governance of our community. If you are curious about our mission and goal, or governance of the community, read the governance framework.

A quick reminder that we launched a new and dedicated forum for eZ Platform at https://discuss.ezplatform.com. Why a new forum? We launched this new forum for several reasons. The most important one is to preserve our knowledge around eZ Platform and to make it available to everyone. Join us, share your knowledge, and ask your questions to fellow eZ Platform developers on https://discuss.ezplatform.com!

We ran a survey a while ago asking our community if they would be interested in a hackathon during this year's eZ Conference. With the response we got, we decided to not organize a hackathon this year and focus our resources to give you an excellent experience during the conference itself.

In Other News:

Resources

eZ Platform Cloud Explainer Video

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

Social Media

GDPR is around the corner but there's no need to panic! Join the webinar by @eZSystems and hear how to get ready for GDPR. https://t.co/LlTPPFNLMm pic.twitter.com/hx3r1wh1en

- Exove (@exove) February 20, 2018

Early Bird tickets for @WebSummerCamp are selling out https://t.co/z4ReKSsEQ9 We have some great speakers announced, CfP is still open, and if you have any questions, contact me #websc #ux #userresearch #php #symfony #ezplatform #javascript

- Maja Nebes (@Maja_Nebes) February 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: Martin Kleppe, CC)

23 Feb 2018 6:52pm GMT

feedPlanet PHP

Move over Graphite, Prometheus is Here

May - EU
Presented By

Michael Heap
May 17, 2018
20:00 CEST

The post Move over Graphite, Prometheus is Here appeared first on Nomad PHP.

23 Feb 2018 3:13pm GMT

Installing Bolt extensions on Docker

23 Feb 2018 1:30pm GMT

feedSymfony Blog

New in Symfony 4.1: Deprecated the bundle notation

Tobias Schultze

Contributed by
Tobias Schultze
in #26085.

In modern Symfony applications, it's no longer recommended to organize your business logic using bundles. However, it was still possible to use the "bundle notation" for example when defining routes:

1
2
3
4
bundle_controller:
    path: /
    defaults:
        _controller: FrameworkBundle:Redirect:redirect

In order to keep simplifying things and to keep replacing "Symfony concepts" by standard PHP features, in Symfony 4.1 we've deprecated the bundle notation in favor of the regular PHP namespace notation:

1
2
3
4
bundle_controller:
    path: /
    defaults:
        _controller: Symfony\Bundle\FrameworkBundle\Controller\RedirectController::redirectAction

While working on this, we noticed a related inconsistency that could be fixed. When defining controllers as services, you must use a single colon (:) instead of a double colon (::) to separate the service ID and the method name:

1
2
3
4
service_controller:
    path: /
    defaults:
        _controller: app.my_controller:myAction

In other parts of Symfony you always use a double colon (::) to separate classes and method names, so this difference is confusing and it complicates the learning curve for no real benefit. That's why in Symfony 4.1 you can always use a double colon to separate the method names, even for controllers as services:

1
2
3
4
service_controller:
    path: /
    defaults:
        _controller: app.my_controller::myAction

Be trained by Symfony experts - 2018-03-6 Online Europe - 2018-03-6 Online Europe - 2018-03-12 Cologne

23 Feb 2018 10:09am GMT

22 Feb 2018

feedSymfony Blog

New in Symfony 4.1: 307 and 308 redirections

Paweł Smoliński

Contributed by
Paweł Smoliński
in #26213.

In web applications is common to use the 301 HTTP status code to make permanent redirections and the 302 code to make temporary redirections. However, a problem with these redirection types is that a POST request is transformed into a GET response when doing the redirection for legacy reasons (redirecting a POST request didn't work well in old browsers).

In order to solve these issues, the HTTP standard introduced two new status codes:

In Symfony 4.1 we added support for these new redirection types by adding a new keepRequestMethod argument to the redirectAction() and urlRedirectAction() methods of the RedirectController. You can also use it as the keepRequestMethod option in the route definitions:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
route_301:
    # ...
    defaults:
        # ...
        permanent: true

route_302:
    # ...
    defaults:
        # ...
        permanent: false

route_307:
    # ...
    defaults:
        # ...
        permanent: false
        keepRequestMethod: true

route_308:
    # ...
    defaults:
        # ...
        permanent: true
        keepRequestMethod: true

Be trained by Symfony experts - 2018-03-6 Online Europe - 2018-03-6 Online Europe - 2018-03-12 Cologne

22 Feb 2018 9:17am GMT

20 Feb 2018

feedPlanet PHP

Mocking at architectural boundaries: persistence and time

20 Feb 2018 7:55am GMT

19 Feb 2018

feedSymfony Blog

New in Symfony 4.1: Validator improvements

Deprecated the checkDNS option of the URL validator

Roland Franssen

Contributed by
Roland Franssen
in #25516.

In Symfony 4.1, the checkDNS option (and its related dnsMessage option) of the Url constraint has been deprecated. This option allowed to check whether the host associated with the given URL existed. It used the checkdnsrr() PHP function and it's been deprecated (and removed in Symfony 5.0) because its results are not fully reliable.

No alternative is provided, so if you still want to apply this validation, create a custom validation and use the checkdnsrr() PHP function.

Allow to pass custom values to Expression validator

Gabriel Ostrolucký

Contributed by
Gabriel Ostrolucký
in #25504.

In Symfony 4.1, the Expression constraint accepts a new option called values to pass arbitrary values and use them in your expressions:

1
2
3
4
5
6
7
8
use Symfony\Component\Validator\Constraints\Expression;

$constraint = new Expression([
    'expression' => 'value + custom == 2',
    'values' => [
        'custom' => 1,
    ],
]);

Added a canonicalize option to the Locale validator

Javier Spagnoletti

Contributed by
Javier Spagnoletti
in #22353.

In Symfony 4.1, the Locale constraint defines a new boolean option called canonicalize. If true, the given locale value is transformed into its canonical form before validating it.

For example, FR-fr.utf8 is transformed into fr_FR, UZ-cYRL-uz is transformed into uz_Cyrl_UZ, etc.

1
2
3
4
5
6
7
use Symfony\Component\Validator\Constraints as Assert;

class User
{
    /** @Assert\Locale(canonicalize = true) */
     protected $locale;
}

Added support for validating URLs without protocol

Peter Smeets

Contributed by
Peter Smeets
in #24308.

The Url constraint defines the protocols option to configure the protocols allowed for the URLs (['http', 'https'] by default). In Symfony 4.1 we added a new boolean option called relativeProtocol. If true, URLs without protocol (e.g. //example.com) are considered valid too:

1
2
3
4
5
6
7
use Symfony\Component\Validator\Constraints as Assert;

class Author
{
    /** @Assert\Url(relativeProtocol = true) */
     protected $bioUrl;
}

Be trained by Symfony experts - 2018-03-6 Online Europe - 2018-03-6 Online Europe - 2018-03-12 Cologne

19 Feb 2018 9:19am GMT

14 Feb 2018

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

Re: still login after logout - production environement

Hi,
I seem to have the same problem as the one you mention.
What did you do to fix it?
Thanks.

14 Feb 2018 9:00am GMT

Re: urlalias lowercase transform equivalent

This command seems to have been disappeared on the lasted ezplaform release (2.x)

14 Feb 2018 2:14am GMT

12 Feb 2018

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

Re: Dynamically log user

The API has changed (eZ5.4). The token is not handled by the same service :

12 Feb 2018 3:15pm GMT

09 Feb 2018

feedeZ News

The Week in Review: Symfony Thanks, Translatable SiteAccess Names and More

News

eZ Connector Marketplace Expansion Program

The eZ Connector initiative was announced at the Barcelona Partner Meeting. This will consist of two programs: eZ Connector Competition and Build with eZ. When you join the competition to build a connector, you're in the running for a chance to win USD $2,500.

More information can be found in the official announcement, and you can register on our site.

Should Siteaccess Names be Translatable?

Sylvain Guittard from Product Management posted a question on our forum: Should SiteAccess names be translatable or not? "We plan to introduce human readable SiteAccess Names into the product. The main goal is to replace the SiteAccess code by a name easier to read, understand for the editor." If you have an opinion on this, please leave your feedback.

WSC18 Call for Papers

Web Summer Camp 2018 call for papers is officially open. "You have an interesting topic in the area of PHP, Symfony, eZ Platform, JavaScript, user experience, user research, information architecture, or user interface design?" Submit proposal by March 31st at 2018.websummercamp.com

Symfony Thanks

Javier Equiluz submitted an interesting pull request to incorporate Symfony Thanks to our code. Symfony Thanks is a Composer plugin to give thanks to your PHP dependencies in the form of a GitHub Star. When this makes it into the eZ Platform repositories, I hope as a community member you will use it to say thanks and recognize everyone's work.

In Other News:

Resources

New Community Bundles

The Community has contributed a few new Bundles this week. The first one is by Emmanuel Drouet through his "One Monday One Bundle" effort. His Bundle is about indexing binary files associated with eZ Content in SolR search index. Watch the video on YouTube or get the Bundle from Packagist.

The second Bundle is by Felix Laate called CSVImportExportBundle. It's an eZ Platform v2 bundle providing basic import and export capabilities for the admin interface. You can find the Bundle on GitHub.

Question of the Week

This week Ivo Lukač posted the question: Going underscore with nice urls, by default or not? Join that discussion on our forum.

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

Social Media

[Webinar] #GDPR Is Around the Corner - Don't Panic!
Hear clear and practical advice that will get you ready for GDPR.
RSVP TODAY - Tue, March 6 - 10am EThttps://t.co/6eZhU3Ysxc pic.twitter.com/MKjXyvTcfx

- eZ Systems (@eZSystems) February 8, 2018

Working towards new business together with our long-term partners and friends from @eZSystems . pic.twitter.com/TaypAClKvh

- Kaliop Poland (@KaliopPoland) February 8, 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: Anders Adermark, CC)

09 Feb 2018 5:33pm GMT

31 Jan 2018

feedeZ News

eZ Connector Marketplace Expansion Program

The eZ Connector initiative will consist of two programs: eZ Connector Competition and Build with eZ. These programs are a great opportunity for partners, developers, and third-party software vendors to build connectors that extend our content management system's capabilities. Let's dive deeper to understand these different programs, and how you can participate and benefit from these two exciting opportunities.

eZ Connector Competition

This competition is a fun opportunity that we believe will drive innovation and accelerate the growth of our connector marketplace. The first competition kicks off on February 1! You can build a connector with any application or service, the only thing that matters is that you register for the competition by providing us with your information and a summary of the connector you are entering in the competition. During the competition you will have one whole month to build your connector and, of course, you are free to bring a project already started prior to the competition-it does not have to be new work, just new to us here at eZ.

By 23:59 EST on February 28, 2018, you must deliver your final entry.

A few requirements that are worth noting: the connector should be open source so that users have the freedom to run and modify the software. It should follow the GPL license version 2, and should grant eZ Systems AS with a shared copyright just like eZ shares copyright through a Contribution License Agreement with contributors. To evaluate the work of the participant, we request that you share the results along with a blog post. The blog post should also include a demo video explaining the connector and its functionality. We will publish the blog post both on ez.no and ezplatform.com.

On March 1, the eZ Product Team will evaluate all submitted connectors and decide on the winner. The winner will be announced at the end of the first week of March, 2018. We recognize that building a connector takes a significant amount of resources. Therefore, the winner will be rewarded with a check for USD $2,500, and will receive an opportunity to advance to the Build with eZ challenge. However, all of the connectors that take part in the competition will be featured on the ez.no website, and can take advantage of our various co-marketing initiatives (webinars, events, and blog posts) that will accompany the competition.

Build with eZ

Build with eZ is the second phase of our connector program. In this part of the program, the winner of the competition will be awarded a contract to build an additional connector together with our team. During this phase, the connector you create will be selected and designed together with the eZ product team. The participant will have one month to deliver, and will receive an additional USD $5,000 for services performed in building the new connector. eZ seeks to work side-by-side with the winning vendor and will provide resources and guidance throughout the development process. Just as with the eZ Connector Competition, this new connector will need to be open source and licensed under GPL version 2. As this connector is promoted as "Build with eZ", we require this connector's code base to be hosted by the eZ organization on GitHub (https://github.com/ezsystems), and that eZ owns the copyright, as a regular contribution following the eZ Contribution License Agreement (CLA).

We believe that these two programs will help us accelerate the growth of our connector directory. Don't miss out on this great opportunity to contribute to the eZ ecosystem and partake in extending eZ Platform's capabilities.

REGISTER HERE NOW

31 Jan 2018 9:34pm GMT

29 Jun 2017

feedZend Developer Zone

PHP 7.2: Add Extension By Name

I don't know if you've been keeping up, but there's not a lot of new coming down the pipe in PHP 7.2. Yeah, there is a good list of things that are being deprecated, and a change to allow for type widening, but compared to PHP 7.0 and PHP 7.2, PHP 7.2 is positively a yawner. This makes writing articles about the new hotness coming down the pipe a bit difficult.

The post PHP 7.2: Add Extension By Name appeared first on Zend Developer Zone.

29 Jun 2017 6:36pm GMT

27 Jun 2017

feedZend Developer Zone

Deprecations in PHP 7.2

The only constant is change.
- Heraclitus of Ephesus

PHP is a living language and as such, as some things are added, others are removed. Click on inside to find out what is being flagged to go away in PHP 7.2

The post Deprecations in PHP 7.2 appeared first on Zend Developer Zone.

27 Jun 2017 3:41pm GMT

16 Jun 2017

feedZend Developer Zone

June 2017 PHP Community (coffee) Cup of Service winner

It is time for the June 2017 PHP Community (coffee) Cup of Service award. This month it goes to someone who has been giving to PHP for more than 15 years, Ms. Sara Golemon. Sara: Is a regular speaker at PHP conferences worldwide An active core contributor One of the release managers of PHP 7.2 Please join us here at... Read more »

The post June 2017 PHP Community (coffee) Cup of Service winner appeared first on Zend Developer Zone.

16 Jun 2017 12:00pm 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

feedCI News

Reportula

What can you tell us about the team that built reportula.org?

The Team that made reportula.org is just one person. Pedro Oliveira, started Reportula when he needed a clean and fast web application that reported the Bacula Backups software of the company he works for. He has decided to open the project, and let it grow to full web application that is able to manage the Bacula Backups.

Reportula Website Screen Shot

What can you tell us about the site in general? What are the goals of the site and the main audience?

Reportula is a php based web program that provides you a summarized output of jobs that have already run. It obtains its information from the Bacula's database. Aside from a nice graphical display, it provides summaries of your jobs, as well as graphs of job usage. This is a fairly high level bacula management tool.

The main goals were to create a web reporting tool for the bacula backups system, as I got further into the project it developed into something more than that. Right know it calculates average of bacula backups, it has time line history of backups. Imagine this scenario for example, if you use the crontab feature of reportula, you can see in time by how much data your backups infrastructure is growing.

Example. in 2011.05.01 if backups infrastructure stores 500 Tera bytes, in 2011.12.30 it stores 510 terabytes. This is very handy for us because with this feature you can predict the storage needs of your backups for the future.

What was your major consideration in using CodeIgniter for this?

I chose codeigniter because I needed an easy, fast, and supported PHP development framework. I found that with Codeigniter I could achieve that. This project was made in less than month.

Another nice thing about Codeigniter is that you don't have to "re-invent the wheel". Codeigniter has most of the thing that you need for an application already developed. All you have to do is connect the blocks which is very easy.

What is next on the plate for reportula.org? Any additional functionality you can tell us about?

On the plate for Reportula is user registrations, acls, and managing Bacula Backups like "bconsole".

Do you have any other information you'd like to share with the community? Tips from this project you'd like to share? Lessons you've learned?

First of all i think that Codeigniter is one of the best frameworks on the internet. I've tried them all (Cake, Yii, Symfony, Zend) they are all too complicated, too big, with lots of features and slow. They all had one problem BIG, STEEP LEARNING CURVE.

Codeigniter has less features than the others but you start making an application in less than 30 minutes. And what it does it does well! Even if you think you need a big framework after starting with codeigniter it cames to you that you don't need another framework to develop some applications. The lessons I learned are don't re-invent the wheel, Codeigniter does it and does it well, the community are nice, and always had support on the forum.

11 Nov 2011 10:19pm GMT

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

02 Nov 2011

feedCI News

GoCart

Every week we hear of really awesome places that CodeIgniter is being used. I want to start sharing those with the community-at-large. I will start by posting them here under a new Showcase Category with the hopes that any future revisions of CI.com will have a section for stuff like this. You guys and gals make some really cool stuff and deserve a platform to show it off.

So without further ado…

This showcase is an interview with Kyle Roseborrough about GoCart

What can you tell us about the GoCart team?

We have a pair of PHP developers who knew there was a better way to build a shipping cart. Noah (lead developer) has 6 years experience in PHP development and 4 years in CodeIgniter. Gabe has about 10 years experience in web application development. Kyle has been working in UI and management for 10 years.
GoCart Website Screen Shot

What can we tell about the site in general?

GoCartdv.com was built to showcase GoCart and offer some basic information on the system.

What are the goals of the site and the main audience?

The main audience is CodeIgniter developers who are wanting a simple, scalable, CodeIgniter shopping cart. The goal is to get people involved in development to improve the cart and allow it to fully embody the goal of the project. To be easy to customize for developers and easy to use for end users/customers

What was your major consideration in using CodeIgniter for this?

CodeIgniter has great documentation and is easy to learn. We build lot of custom projects on CodeIgniter and it only made sense for us to build our cart on it. When looking for commerce solutions, we never found a suitable solution built on CodeIgniter so we decided to set out to do it on our own.

What is next on the plate for GoCart?

We really want GoCart to foster a great community of people contributing back to the roadmap and path the project will take. We want the focus to remain the same though "Easy to Customize, Easy to Use". It would be great if we could get enough people using.

Any additional functionality you can tell us about?

Well, not really. GoCart is intended to be a shopping cart, plain and simple. It does have some basic page and banner management and a whole slew of cart related features, but ultimately it's an ecommerce platform.

Do you have any other information you'd like to share with the community?

We built GoCart to be simple and scalable. As time goes on, we want the software to become easier and easier to use. We want GoCart to be scalable and to be able to work with new platforms as they come out. We feel that CodeIgniter and the CodeIgniter community is a huge benefit here. It enables developers to tie into a whole plethora of libraries, helpers and applications easily and support each other in the endeavor to make CodeIgniter better. Essentially, what's good for CodeIgniter is good for GoCart.

Tips from this project you'd like to share?

If you really want something, do it yourself. If it doesn't happen then you probably don't want it as bad as you think.

Lessons you've learned?

- Not every idea is a good one. Generally you need someone else around to discuss ideas and methods with. Collaboration is the best way to build a good application.
- No one knows what the next trend will be. Having a scalable platform that will adjust to a new set of tools and user demands is very important.


If you have a project that you would like to see in our showcase email me

02 Nov 2011 7:31pm 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

05 Oct 2011

feedCI News

New User Guide in Development

We are happy to announce today that the user guide has had some significant improvements, and the first commit of these changes were just pushed today.

As many of you likely heard at CICON 2011, the Reactor team has had an internal project going on for some time to move the user guide to Sphinx. In addition to handling the tedium of generating page and document tables of contents, or maintaining internal links and references, the documentation is now easier to write, as you can simply focus on the content instead of markup and presentation. Don't forget syntax highlighting of PHP, HTML, CSS, and JavaScript in code samples. Based on ReStructured Text, it's also more human readable in a text editor than HTML is, which is likely where you spend most of your time. As an added benefit, Sphinx can output HTML, PDF, and even EPUB formats all from the same source files. We will likely be taking advantage of that at a later date.

But we didn't stop there, we also enlisted the thunderous powers of EllisLab's Chief Creative Officer, James Mathias for a style redesign. They are clean, easy to read, and beautiful.

Setting up your dev environment to work with Sphinx (if you want to render and output locally) is very easy, and takes about five minutes. For those that want to geek out, we have added a readme file to the user guide source folder so the step by step instructions are available right from GitHub.

Today marks the first commit with the new user guide to the unreleased develop branch, so you may encounter some bumps. Most notably are the code blocks, which pandoc lost our line breaks on, and some navigation issues as we experiment with different table of contents presentation and depth. We'll be cleaning these up prior to the next release (much is as simple as some line breaks and tabs), but feel free to pitch in and submit some pull requests if you see anything out of whack.

And lastly, for the first time ever, we have live nightly builds of documentation for the develop branch available at the CodeIgniter web site. Enjoy!

05 Oct 2011 7:23pm 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

06 Apr 2011

feedcakebaker

Bash autocompletion for Git

One thing I often wished to have when using Git was the ability to autocomplete Git commands and branch names. As I had to learn this week from Markus Prinz' article A few of my Git tricks, tips and workflows, Git comes with an autocompletion script for the Bash shell. But to use the autocompletion, […]

06 Apr 2011 8:36am GMT

01 Apr 2011

feedcakebaker

Array iteration with JavaScript

Till recently I always used a for-loop when I had to iterate over an array in JavaScript. For example: var myArray = [1, 2, 3, 4]; for (var i = 0; i < myArray.length; i++) { console.log(myArray[i]); } However, with ECMAScript 5 the Array object itself got some methods for iteration purposes. With those methods […]

01 Apr 2011 2:51pm GMT

10 Jan 2011

feedcakebaker

2-legged vs. 3-legged OAuth

From emails I receive it seems like there is a bit of confusion about what the terms 2-legged OAuth and 3-legged OAuth mean. I hope I can clear up this confusion with this article (and don't contribute more to the confusion…). In short, they describe two different usage scenarios of OAuth involving two respectively three […]

10 Jan 2011 5:30pm GMT

04 Mar 2010

feedWithCake.com Companies Hiring

qpLogic Europe

We can use immediately an experienced Cake developer for assisting us with developing a multi-lingual application that needs some Jake/Joomla (css) integration. We have continuously Cake projects and prefer to work with a team of individual developers in multiple time zones. Please show me that you are experienced, affordable and have at least 24 hours available per week (40 is better ;-).

04 Mar 2010 11:54am GMT