The document provides information on how to write custom modules for PHP-based e-commerce systems like Magento, OXID eShop, and Shopware. It discusses the structure and templating systems of these platforms, how to extend core classes through inheritance, and build plugins to add new functionality like displaying the number of days until Christmas on product pages. The document drills down through the different layers from templates to models to explain how to access data from a module.
How to Write Custom Modules for PHP-based E-Commerce Systems (2011)Roman Zenner
This document discusses how to write custom modules for three different PHP-based e-commerce systems: Magento, OXID eShop, and Shopware. It provides an overview of each system's architecture and module structure. For Magento, it describes how to drill down from templates to models and databases to access product information. For OXID, it explains how to extend classes and integrate custom functionality using an event-listener system. For Shopware, it outlines how to use plugins, events, hooks, and listeners to insert custom code. The document concludes that while each system has slightly different methods, custom modules can be added without core hacking by leveraging each system's extensibility features and testing custom code
[2015/2016] Local data storage for web-based mobile appsIvano Malavolta
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
The document describes an in-memory OLAP engine created by Samuel Pelletier to enable fast querying of multidimensional data with millions of facts. It loads data into memory as plain old Java objects (POJOs) for faster access compared to entity objects or SQL queries. Dimensions are modeled as classes to index the facts and compute summarized results. The engine is multithreaded and designed for simplicity and minimal dependencies.
The document discusses stateful controllers in Direct To Web (D2W) applications built with WebObjects. It provides background on D2W and how controllers were traditionally implemented using ERDBranchDelegate and NextPageDelegate. Stateful controllers improve upon this by allowing controller classes to be reused across multiple pages while maintaining state between pages. This is done by overriding branchChoicesForContext to programmatically define branch choices and storing necessary objects like the editing context. The document provides examples of how stateful controllers can implement common page flows and interactions through utility methods while keeping code DRY and reusable.
This document discusses alternatives to using WebObjects for developing web applications. It summarizes the key aspects of a stack that could satisfy former WebObjects developers, including:
- Dependency injection frameworks like Spring and Google Guice that allow loose coupling between classes.
- HTML frameworks like Tapestry that are similar to WebObjects in allowing infinitely nestable page components.
- JAX-RS as a REST framework specification implemented by libraries like Jersey that maps HTTP requests to Java methods.
- Migrating from WebObjects by keeping its philosophies but rewriting code from scratch using these new frameworks, with tools to import existing data models and port components like DirectToWeb and DirectToJavaClient.
This document provides tips and best practices for staying sane as a Drupal developer. It discusses that 80% of building Drupal sites is configuration, while the remaining 20% requires customization. It emphasizes using Drupal APIs and hooks, playing well with contributed modules, and following coding standards and best practices like version control, automated testing and deployment, and documentation.
In this core java training session, you will learn Java IO – Files, Streams and
Object Serialization. Topics covered in this session are:
• Java IO
• Files
• Streams
• Byte-based
• Character-based
• Object Serialization
For more information about this course visit on this link: https://www.mindsmapped.com/courses/software-development/learn-java-fundamentals-hands-on-training-on-core-java-concepts/
In this Java Hibernate Training session, you will learn Hibernate. Topics covered in this session are:
• Hibernate
• Advantage of hibernate
• Hibernate Architecture
• Hibernate project
• Hibernate with Annotations
• DAO Design Pattern in Java
For more information, visit this link:
https://www.mindsmapped.com/courses/software-development/learn-hibernate-fundamentals-from-scratch/
How to Write Custom Modules for PHP-based E-Commerce Systems (2011)Roman Zenner
This document discusses how to write custom modules for three different PHP-based e-commerce systems: Magento, OXID eShop, and Shopware. It provides an overview of each system's architecture and module structure. For Magento, it describes how to drill down from templates to models and databases to access product information. For OXID, it explains how to extend classes and integrate custom functionality using an event-listener system. For Shopware, it outlines how to use plugins, events, hooks, and listeners to insert custom code. The document concludes that while each system has slightly different methods, custom modules can be added without core hacking by leveraging each system's extensibility features and testing custom code
[2015/2016] Local data storage for web-based mobile appsIvano Malavolta
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
The document describes an in-memory OLAP engine created by Samuel Pelletier to enable fast querying of multidimensional data with millions of facts. It loads data into memory as plain old Java objects (POJOs) for faster access compared to entity objects or SQL queries. Dimensions are modeled as classes to index the facts and compute summarized results. The engine is multithreaded and designed for simplicity and minimal dependencies.
The document discusses stateful controllers in Direct To Web (D2W) applications built with WebObjects. It provides background on D2W and how controllers were traditionally implemented using ERDBranchDelegate and NextPageDelegate. Stateful controllers improve upon this by allowing controller classes to be reused across multiple pages while maintaining state between pages. This is done by overriding branchChoicesForContext to programmatically define branch choices and storing necessary objects like the editing context. The document provides examples of how stateful controllers can implement common page flows and interactions through utility methods while keeping code DRY and reusable.
This document discusses alternatives to using WebObjects for developing web applications. It summarizes the key aspects of a stack that could satisfy former WebObjects developers, including:
- Dependency injection frameworks like Spring and Google Guice that allow loose coupling between classes.
- HTML frameworks like Tapestry that are similar to WebObjects in allowing infinitely nestable page components.
- JAX-RS as a REST framework specification implemented by libraries like Jersey that maps HTTP requests to Java methods.
- Migrating from WebObjects by keeping its philosophies but rewriting code from scratch using these new frameworks, with tools to import existing data models and port components like DirectToWeb and DirectToJavaClient.
This document provides tips and best practices for staying sane as a Drupal developer. It discusses that 80% of building Drupal sites is configuration, while the remaining 20% requires customization. It emphasizes using Drupal APIs and hooks, playing well with contributed modules, and following coding standards and best practices like version control, automated testing and deployment, and documentation.
In this core java training session, you will learn Java IO – Files, Streams and
Object Serialization. Topics covered in this session are:
• Java IO
• Files
• Streams
• Byte-based
• Character-based
• Object Serialization
For more information about this course visit on this link: https://www.mindsmapped.com/courses/software-development/learn-java-fundamentals-hands-on-training-on-core-java-concepts/
In this Java Hibernate Training session, you will learn Hibernate. Topics covered in this session are:
• Hibernate
• Advantage of hibernate
• Hibernate Architecture
• Hibernate project
• Hibernate with Annotations
• DAO Design Pattern in Java
For more information, visit this link:
https://www.mindsmapped.com/courses/software-development/learn-hibernate-fundamentals-from-scratch/
Rich Internet Applications con JavaFX e NetBeans Fabrizio Giudici
JavaFX is a software platform for creating rich internet applications (RIAs) using Java that can compete with Flash/Flex and Silverlight, it is based on Java and the JavaFX runtime and includes tools like JavaFX Script for building the user interface and NetBeans as an integrated development environment. JavaFX aims to simplify building RIAs with features like bindings, listeners and components while allowing access to the full Java runtime.
Paris Tech Meetup talk : Troubles start at version 1.0Laurent Cerveau
Presentation given at the Paris Tech Meetup 2013. A checklist (with code example for iOS development) to anticipate potential problems that can happen during the upgrade process of an application.
In this Java JSP Training session, you will learn JSP. Topics covered in this session are:
• JSP (Java Server Pages Technology)
• JSP vs Servlet
• MVC Architecture
• Scriplet
For more information, visit this link:
https://www.mindsmapped.com/courses/software-development/jsp-and-servlets-designing-web-applications-with-java/
The document outlines an agenda for a Hibernate training that covers generator classes, SQL dialects, collection mapping, relationship mappings like one-to-one and many-to-one, cascade types, lazy loading, transactions, HQL, criteria queries, caching, and includes examples of creating a basic Hibernate project using annotations and performing CRUD operations.
This document provides an overview of ASP.NET MVC including its history, the MVC pattern, controllers, views, routing, and Razor views. It discusses the Model-View-Controller components, controller actions, action results, and action filters. It also covers view helpers, layouts, sections, and Razor syntax features.
Deploying Schemas and XMetaL Customization FilesXMetaL
Derek Read discusses how XMetaL locates schemas, customization files, and other resources needed for document editing. It first looks in the same folder as the schema, then in default installation folders, and will auto-generate files if they are not found. Complex customizations may involve multiple files packaged together, such as in a XAC file. The XMetaL Developer tool assists with debugging the lookup process. Questions about specific CMS integrations should be directed to the CMS provider.
In this core java training session, you will learn JDBC Cont. Topics covered in this session are:
• JDBC Continued
• Introduction to Java Enterprise Edition (Java EE)
For more information about this course visit on this link: https://www.mindsmapped.com/courses/software-development/learn-java-fundamentals-hands-on-training-on-core-java-concepts/
JAVA EE DEVELOPMENT (JSP and Servlets)Talha Ocakçı
Java and J2EE is the most used technologies in enterprise web development. Telecom operators, service providers are using these technlogies; banking and insurance companies are moving to Java from old generation technologies.
https://www.udemy.com/java-web-developmen-with-real-world-development-flow
If you want to earn much in web development business, you also need to learn Java web technologies.
Java has de facto standart frameworks such as EJB 3.0, Spring and others that can be bound to them.
But at heart, they all use the similar JSP/Servlet technology and add some layers above them to speed up the development.
You will use them in your daily business but before using them, you must learn the basics and what is going on while using them. Otherwise, you will not be able to find a proper solution to common problems.
This course will make you understand the basics of JSP / servlet technlogies, designing a relational database, DB operations, design patterns, working with other developers,
and let you know the must-do operations in professional projects such as performance increasing, logging errors.
If you want to develop a web-site in a couple of hours without understanding what you are doing, you may go ahead and find other resources. But if you really want to understand what you are doing and learn the theory at the same time, this course will be a great oppurtunity for you. You will develop a real working project. Yow will first write quick and dirty code then you will apply professional patterns one by one while investigating the problems.
You will walk through a real development flow:
1- Write a quick and dirty code for doing the job.
2- You will design database tables and high performance queries
3 - You will apply design patterns to make the code reusable and high performance.
4 - You will beautify the user interface with Javascript and CSS tweaks
5- You will add exception handling, logging mechanism for production environment
6- AT THIS STEP, YOU WILL BE HIRED FOR MUCH MUCH HIGHER SALARIES. BECAUSE YOU ARE A REAL PROFESSIONAL.
JDBC (Java Database Connectivity) is an API that provides Java programs with the ability to connect to and interact with databases. It allows database-independent access to different database management systems (DBMS) using Java programming language. JDBC drivers are used to connect to databases and come in four types depending on how they interface with the database. The basic steps to use JDBC include registering a driver, connecting to the database, executing SQL statements, handling results, and closing the connection. Scrollable result sets and prepared statements are also introduced as advanced JDBC features.
A directive is a custom HTML element that is used to extend the power of HTML. Angular 2 has the following directives that get called as part of the BrowserModule module.
ngif
ngFor
If you view the app.module.ts file, you will see the following code and the BrowserModule module defined. By defining this module, you will have access to the 2 directives.
Introduction
Require JS
Handlebars
Conclusions
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2015.
http://www.ivanomalavolta.com
AngularFire is the officially supported AngularJS binding for Firebase. ... The focus of this library is to abstract much of the boilerplate involved in creating Angular bindings from Firebase to Angular, and to make it easy to create services that sync to your database.
Anatomy of a web app
HTML5
CSS3
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2014.
http://www.ivanomalavolta.com
Jdom how it works & how it opened the java processHicham QAISSI
The document discusses JDOM, an open source Java library for parsing, manipulating, and outputting XML documents. It provides a straightforward API for working with XML in Java without requiring knowledge of DOM or SAX. JDOM aims to simplify common XML tasks, integrate with existing standards, and stay up to date with evolving XML specifications. It represents an XML document using lightweight Java objects that can be easily traversed, modified, and converted between DOM, SAX, and XML formats.
The document discusses several JDBC APIs used for connecting Java applications to databases. The Connection interface is used to create a connection to a database and execute SQL statements. The Statement interface executes static SQL queries and retrieves results. The PreparedStatement interface executes dynamic queries with IN parameters by using placeholder values set using methods like setInt() and setString(). Examples of using these interfaces will be provided in subsequent chapters.
The document summarizes new features and improvements in Internet Explorer 8, including standards compliance, multiple rendering modes, developer tools, AJAX enhancements, and security updates. Key points include improved support for CSS 2.1, HTML 5, and accessibility standards; contextual accelerators and activities; RSS-based WebSlices for content subscription; back/forward navigation and DOM storage for AJAX apps; and integrated HTML, CSS, and JavaScript debugging tools. A timeline outlines the beta and release schedule through 2008.
This document provides an overview of CodeIgniter and the Model-View-Controller (MVC) framework. It discusses the key features supported by CodeIgniter including database classes, validation, security filtering, and more. It explains the basic MVC structure with models representing data, views representing presented information, and controllers serving as intermediaries. The document demonstrates how CodeIgniter handles URLs in a segment-based approach and describes the roles of controllers, views, models, helpers, libraries, and hooks within a CodeIgniter application. Code examples are provided to illustrate how each component works.
The document summarizes the key changes in the module structure and development approach for Magento 2.0. Some of the main changes include a simplified module structure located under app/code, refactored configuration to remove class aliases and simplify rewrites, and changes to the view layer including new view configuration, use of containers instead of blocks, and simplified themes. The developer tools and tests have also been improved to help support the new approaches in Magento 2.0.
CodeIgniter is an open source PHP web application framework that uses the model-view-controller (MVC) architectural pattern. It provides features like a lightweight and fast system, clear documentation, and a friendly community of users. The framework includes libraries and helpers for common tasks like databases, forms, URLs, and more. Controllers handle requests and interact with models to retrieve and work with data, and views are used to display the data to the user.
Magento 2.0: Prepare yourself for a new way of module developmentIvan Chepurnyi
The document summarizes upcoming changes in the structure and development of modules for Magento 2.0. Key changes include a more transparent module structure, simplified configurations, improved performance, and refactored view and theme systems. Module classes, templates, and other assets will be consolidated within each module's directory for easier management. Configuration definitions will be simplified and merged for each active module. Themes will have a clearer inheritance structure and be more customizable.
Rich Internet Applications con JavaFX e NetBeans Fabrizio Giudici
JavaFX is a software platform for creating rich internet applications (RIAs) using Java that can compete with Flash/Flex and Silverlight, it is based on Java and the JavaFX runtime and includes tools like JavaFX Script for building the user interface and NetBeans as an integrated development environment. JavaFX aims to simplify building RIAs with features like bindings, listeners and components while allowing access to the full Java runtime.
Paris Tech Meetup talk : Troubles start at version 1.0Laurent Cerveau
Presentation given at the Paris Tech Meetup 2013. A checklist (with code example for iOS development) to anticipate potential problems that can happen during the upgrade process of an application.
In this Java JSP Training session, you will learn JSP. Topics covered in this session are:
• JSP (Java Server Pages Technology)
• JSP vs Servlet
• MVC Architecture
• Scriplet
For more information, visit this link:
https://www.mindsmapped.com/courses/software-development/jsp-and-servlets-designing-web-applications-with-java/
The document outlines an agenda for a Hibernate training that covers generator classes, SQL dialects, collection mapping, relationship mappings like one-to-one and many-to-one, cascade types, lazy loading, transactions, HQL, criteria queries, caching, and includes examples of creating a basic Hibernate project using annotations and performing CRUD operations.
This document provides an overview of ASP.NET MVC including its history, the MVC pattern, controllers, views, routing, and Razor views. It discusses the Model-View-Controller components, controller actions, action results, and action filters. It also covers view helpers, layouts, sections, and Razor syntax features.
Deploying Schemas and XMetaL Customization FilesXMetaL
Derek Read discusses how XMetaL locates schemas, customization files, and other resources needed for document editing. It first looks in the same folder as the schema, then in default installation folders, and will auto-generate files if they are not found. Complex customizations may involve multiple files packaged together, such as in a XAC file. The XMetaL Developer tool assists with debugging the lookup process. Questions about specific CMS integrations should be directed to the CMS provider.
In this core java training session, you will learn JDBC Cont. Topics covered in this session are:
• JDBC Continued
• Introduction to Java Enterprise Edition (Java EE)
For more information about this course visit on this link: https://www.mindsmapped.com/courses/software-development/learn-java-fundamentals-hands-on-training-on-core-java-concepts/
JAVA EE DEVELOPMENT (JSP and Servlets)Talha Ocakçı
Java and J2EE is the most used technologies in enterprise web development. Telecom operators, service providers are using these technlogies; banking and insurance companies are moving to Java from old generation technologies.
https://www.udemy.com/java-web-developmen-with-real-world-development-flow
If you want to earn much in web development business, you also need to learn Java web technologies.
Java has de facto standart frameworks such as EJB 3.0, Spring and others that can be bound to them.
But at heart, they all use the similar JSP/Servlet technology and add some layers above them to speed up the development.
You will use them in your daily business but before using them, you must learn the basics and what is going on while using them. Otherwise, you will not be able to find a proper solution to common problems.
This course will make you understand the basics of JSP / servlet technlogies, designing a relational database, DB operations, design patterns, working with other developers,
and let you know the must-do operations in professional projects such as performance increasing, logging errors.
If you want to develop a web-site in a couple of hours without understanding what you are doing, you may go ahead and find other resources. But if you really want to understand what you are doing and learn the theory at the same time, this course will be a great oppurtunity for you. You will develop a real working project. Yow will first write quick and dirty code then you will apply professional patterns one by one while investigating the problems.
You will walk through a real development flow:
1- Write a quick and dirty code for doing the job.
2- You will design database tables and high performance queries
3 - You will apply design patterns to make the code reusable and high performance.
4 - You will beautify the user interface with Javascript and CSS tweaks
5- You will add exception handling, logging mechanism for production environment
6- AT THIS STEP, YOU WILL BE HIRED FOR MUCH MUCH HIGHER SALARIES. BECAUSE YOU ARE A REAL PROFESSIONAL.
JDBC (Java Database Connectivity) is an API that provides Java programs with the ability to connect to and interact with databases. It allows database-independent access to different database management systems (DBMS) using Java programming language. JDBC drivers are used to connect to databases and come in four types depending on how they interface with the database. The basic steps to use JDBC include registering a driver, connecting to the database, executing SQL statements, handling results, and closing the connection. Scrollable result sets and prepared statements are also introduced as advanced JDBC features.
A directive is a custom HTML element that is used to extend the power of HTML. Angular 2 has the following directives that get called as part of the BrowserModule module.
ngif
ngFor
If you view the app.module.ts file, you will see the following code and the BrowserModule module defined. By defining this module, you will have access to the 2 directives.
Introduction
Require JS
Handlebars
Conclusions
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2015.
http://www.ivanomalavolta.com
AngularFire is the officially supported AngularJS binding for Firebase. ... The focus of this library is to abstract much of the boilerplate involved in creating Angular bindings from Firebase to Angular, and to make it easy to create services that sync to your database.
Anatomy of a web app
HTML5
CSS3
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2014.
http://www.ivanomalavolta.com
Jdom how it works & how it opened the java processHicham QAISSI
The document discusses JDOM, an open source Java library for parsing, manipulating, and outputting XML documents. It provides a straightforward API for working with XML in Java without requiring knowledge of DOM or SAX. JDOM aims to simplify common XML tasks, integrate with existing standards, and stay up to date with evolving XML specifications. It represents an XML document using lightweight Java objects that can be easily traversed, modified, and converted between DOM, SAX, and XML formats.
The document discusses several JDBC APIs used for connecting Java applications to databases. The Connection interface is used to create a connection to a database and execute SQL statements. The Statement interface executes static SQL queries and retrieves results. The PreparedStatement interface executes dynamic queries with IN parameters by using placeholder values set using methods like setInt() and setString(). Examples of using these interfaces will be provided in subsequent chapters.
The document summarizes new features and improvements in Internet Explorer 8, including standards compliance, multiple rendering modes, developer tools, AJAX enhancements, and security updates. Key points include improved support for CSS 2.1, HTML 5, and accessibility standards; contextual accelerators and activities; RSS-based WebSlices for content subscription; back/forward navigation and DOM storage for AJAX apps; and integrated HTML, CSS, and JavaScript debugging tools. A timeline outlines the beta and release schedule through 2008.
This document provides an overview of CodeIgniter and the Model-View-Controller (MVC) framework. It discusses the key features supported by CodeIgniter including database classes, validation, security filtering, and more. It explains the basic MVC structure with models representing data, views representing presented information, and controllers serving as intermediaries. The document demonstrates how CodeIgniter handles URLs in a segment-based approach and describes the roles of controllers, views, models, helpers, libraries, and hooks within a CodeIgniter application. Code examples are provided to illustrate how each component works.
The document summarizes the key changes in the module structure and development approach for Magento 2.0. Some of the main changes include a simplified module structure located under app/code, refactored configuration to remove class aliases and simplify rewrites, and changes to the view layer including new view configuration, use of containers instead of blocks, and simplified themes. The developer tools and tests have also been improved to help support the new approaches in Magento 2.0.
CodeIgniter is an open source PHP web application framework that uses the model-view-controller (MVC) architectural pattern. It provides features like a lightweight and fast system, clear documentation, and a friendly community of users. The framework includes libraries and helpers for common tasks like databases, forms, URLs, and more. Controllers handle requests and interact with models to retrieve and work with data, and views are used to display the data to the user.
Magento 2.0: Prepare yourself for a new way of module developmentIvan Chepurnyi
The document summarizes upcoming changes in the structure and development of modules for Magento 2.0. Key changes include a more transparent module structure, simplified configurations, improved performance, and refactored view and theme systems. Module classes, templates, and other assets will be consolidated within each module's directory for easier management. Configuration definitions will be simplified and merged for each active module. Themes will have a clearer inheritance structure and be more customizable.
Social Connections VI — IBM Connections Extensions and Themes DemystifiedClaudio Procida
IBM Connections uses JavaScript extensively to build its applications and UI components. JavaScript resources are centrally served by the Common application and dynamically generated into layers based on dependencies. Modules can be written using the AMD or legacy Dojo format and aggregated. Extensions are supported through extension points like web bundles, themes, and module bindings. Developers can customize or extend Connections using these extension mechanisms.
This document provides an overview of Backbone.js, a lightweight JavaScript library that adds structure to client-side code. It discusses that Backbone.js is commonly used to create single-page applications and explains some of its key features and components. Models contain data and logic, views handle presentation, and collections manage sets of models. It also touches on events, listening to events, and Backbone's dependencies on other libraries like Underscore.js.
This document provides an introduction to developing Drupal 7 modules. It explains what modules are, why code should be modularized, and the basic components of a module, including the info file, module file, and hook system. Modules are building blocks that encapsulate functionality and enable/disable code. The hook system provides access points to Drupal's response cycle and is used by modules and themes.
AngularJS is a framework for building client-side web applications. It uses HTML as the template language and extends HTML attributes with directives. AngularJS applications are made up of modules that contain controllers, services, and directives to add dynamic behavior. Data binding in Angular updates the view automatically when the model changes. Key features include directives, two-way data binding, MVC pattern, dependency injection and routing.
This document introduces CodeIgniter, an open source PHP web application framework based on the Model-View-Controller (MVC) pattern. It discusses why MVC frameworks are useful for building enterprise web applications. CodeIgniter provides features like routing, database access, form validation and security filtering to help structure applications and make tasks less tedious. The document outlines CodeIgniter's directory structure, controllers, views, helpers and libraries to demonstrate how it implements the MVC pattern.
This document provides a technical summary of a complex integration using Dexterity to manage member profiles and synchronize data between a Plone website and a Salesforce CRM for the nonprofit Net Impact. Key features included editable member profiles, searchable member directories, multi-level privacy workflows, and nightly syncing of member data between the two systems. Custom behaviors, schemas, and forms were developed to handle things like member roles, profile editing, and converting Salesforce IDs to Plone UUIDs.
This library management system is a web application developed in ASP.NET 2.0 using C# and SQL Server 2005. It allows librarians to perform operations like issuing books, returning books, adding members, and searching for books. The application code is organized into folders for pages, themes, code files and the database. It uses tables like USERS, SUBJECTS, MEMBERS, TITLES, ISSUES and RETURNS to manage member, book and transaction data.
This document outlines a plan to introduce the Backbone.js JavaScript framework. It begins with an introduction to MVC and other models in JavaScript. It then discusses third party libraries that can be used with Backbone like jQuery. The rest of the document details the core components of Backbone - Models, Collections, Views and controllers. It provides examples of implementing each component and discusses benefits like easier maintenance and decoupling of logic from the user interface.
The document describes the architecture of a math training program called Math-Bridge. It includes components like Apache Tomcat for web delivery, Maverick as a model-view-controller framework, and a core component for system functionality. Content is stored and indexed in a ContentDB using technologies like Java, Lucene and OMDoc. A learner model tracks user progress. Other components include presentation of content, user accounts, exercises that interface with a computer algebra system, and a tutorial component. The program uses technologies like Java, databases, XMLRPC and XSLT to power its functionality.
This document provides an overview of Symfony2, a PHP framework that includes reusable components and libraries, configuration, and an MVC architecture. It discusses installing Symfony2, creating an application bundle, defining a data model with Doctrine ORM, loading initial data with fixtures, adding routing and templates, and testing applications. The document also mentions additional Symfony bundles that can provide useful features like user management, administration interfaces, and pagination.
OSGi Overview provides information on OSGi, its benefits, and how it works. Key points include:
- OSGi allows developing modular Java programs through bundles that declare dependencies. Each bundle dynamically loads classes.
- In Liferay, bundles become portlets, services, or extensions. The blade CLI helps create these.
- Portlets can be implemented as MVC portlets or use configuration and portlet provider templates.
- Services can be created with Service Builder or wrapped. OSGi services can also be registered.
- Liferay modules can be extended through fragments to customize JSPs, properties, add filters or events.
Andrii Sliusar "Module Architecture of React-Redux Applications"LogeekNightUkraine
This document discusses module architecture for React-Redux applications. It recommends splitting an application into semantically named modules to improve development speed, scalability, and reduced maintenance costs. The modularity level depends on the application scale, with everything identifiable as a separate component separated. Minimal connectivity between modules ensures the architecture remains scalable and readable. Business logic and data models should be extracted and organized by domain. Selectors wire components to the state model in a clear way. Actions are standardized between modules. A modular architecture has pros like scalability and reduced costs, and a potential con of increased number of files/folders.
This document provides an overview of Drupal module development. It discusses Drupal architecture and the different types of modules, including core, contributed, and custom modules. It also covers the key components of a module like the .info, .module, and .inc files. The document introduces hooks and explains how they allow modules to extend Drupal's functionality by implementing callback functions. It provides examples of major hooks like hook_permission, hook_menu, and hook_nodeapi. Finally, it lists some common Drupal API functions that can be used when building custom modules.
This document discusses JavaScript frameworks and web components. It provides examples of code for Dojo, Ember, Angular, React, and jQuery. It also discusses the benefits of web components, including that they are part of the DOM, future-proof, and modular. Web components include custom elements, shadow DOM, templates, and HTML imports. Browser support is improving but not yet universal. Polyfills exist to provide support in older browsers. The web components specification has changed from version 0 to version 1 to support ES6 classes.
Apache Cayenne is an open source object-relational mapping framework for Java. It has been an Apache project since 2006 and has over 17 committers and 9 project management committee members. Cayenne provides tools for mapping database schemas to Java objects and vice versa, as well as tools for querying, caching query results, and handling object lifecycles. It aims to simplify working with relational databases for Java developers in a similar way to how Enterprise Objects Framework simplified it for Objective-C developers.
Similar to Modul-Entwicklung für Magento, OXID eShop und Shopware (2013) (20)
Github is from Venus, Excel is from Mars: Wie sich Entwickler und Business-En...Roman Zenner
In diesem Vortrag geht es um die Frage, wie und warum Entwickler auf der einen und "Business-Heinis" auf der anderen Seite sich während Projekten missverstehen und was das für Folgen haben kann.
Commerce im Wandel: Steine, Schweine - und immer an die Leser denken!Roman Zenner
Beim Thema Kaufen und Verkaufen im Internet werden viele Säue durch’s digitale Dorf getrieben. Es gibt F-Commerce, M-Commerce, Tablet Commerce, Couch Commerce, und gefühlt kommt monatlich ein neuer Begriff hinzu. Dabei ist es im Grunde so einfach: Verabschieden wir uns von all den künstlichen und pseudo-wissenschaftlichen Unterscheidungen und einigen uns auf eine einfache Formel: Egal ob “online” über ein Endgerät oder “offline” in einem richtigen Ladenlokal, es geht immer um Handel, also Commerce, und immer ist der Benutzer und Kunde derjenige, um den sich alles dreht. Punkt.
Dieser Vortrag, den ich auf der Meet-Magento 4.10 gehalten habe, beschäftigt sich mit dem Thema Mobile Commerce und wie Magento mobil genutzt werden kann.
In dieser kurzen Präsentation werden verschiedene Möglichkeiten aufgezeigt, Magento mit Software von Drittherstellern mittels geeigneter Schnittstellen zu verknüpfen.
Discover the benefits of outsourcing SEO to Indiadavidjhones387
"Discover the benefits of outsourcing SEO to India! From cost-effective services and expert professionals to round-the-clock work advantages, learn how your business can achieve digital success with Indian SEO solutions.
HijackLoader Evolution: Interactive Process HollowingDonato Onofri
CrowdStrike researchers have identified a HijackLoader (aka IDAT Loader) sample that employs sophisticated evasion techniques to enhance the complexity of the threat. HijackLoader, an increasingly popular tool among adversaries for deploying additional payloads and tooling, continues to evolve as its developers experiment and enhance its capabilities.
In their analysis of a recent HijackLoader sample, CrowdStrike researchers discovered new techniques designed to increase the defense evasion capabilities of the loader. The malware developer used a standard process hollowing technique coupled with an additional trigger that was activated by the parent process writing to a pipe. This new approach, called "Interactive Process Hollowing", has the potential to make defense evasion stealthier.
Securing BGP: Operational Strategies and Best Practices for Network Defenders...APNIC
Md. Zobair Khan,
Network Analyst and Technical Trainer at APNIC, presented 'Securing BGP: Operational Strategies and Best Practices for Network Defenders' at the Phoenix Summit held in Dhaka, Bangladesh from 23 to 24 May 2024.
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...APNIC
Adli Wahid, Senior Internet Security Specialist at APNIC, delivered a presentation titled 'Honeypots Unveiled: Proactive Defense Tactics for Cyber Security' at the Phoenix Summit held in Dhaka, Bangladesh from 23 to 24 May 2024.
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...
Modul-Entwicklung für Magento, OXID eShop und Shopware (2013)
1. How
to
write
Custom
Modules
for
PHP-based
E-
Commerce
Systems
Roman
Z.
2. Roman
Zenner
• Working
as
freelance
trainer,
author
and
consultant
since
2004
• Has
written
three
books
on
Magento
and
OXID
eShop
• Is
in
the
process
of
writing
a
“cookbook”
on
OXID
eShop
with
Joscha
Krug
• Publishes
in
various
magazines
3. Initial
thoughts
• Modularity
a
no-‐brainer
in
today’s
ecommerce
software
• There
must
be
a
way
of
extending
classes
or
an
event-‐listener
system
in
order
to
integrate
custom
functionalities
4. Types
of
modules
• Encapsulate
graphical
(template)
changes
• Provide
additional
information
(e.g.
for
an
article
• Special
calculations
• Payment
and
shipping
• Other
interfaces
(ImpEx,
etc.)
8. Brief
History
• First
stable
version
released
in
spring
2008
• Community
Edition
under
OSL
• Professional
and
Enterprise
Editions
• Based
on
Zend
Framework
and
MySQL
• Relies
heavily
on
EAV
structure
• XML
de^initions
• Bought
by
eBay
in
2011
(X.commerce)
• Current
stable
version:
1.7.0.2
26. Drilling
down
(3)
public function render()
{
$myConfig = $this->getConfig();
$oProduct = $this->getProduct();
}
public function getProduct()
{
$sOxid = oxConfig::getParameter( 'anid' );
$this->_oProduct = oxNew( 'oxarticle' );
if ( !$this->_oProduct->load( $sOxid ) ) {
...
}
}
27. Drilling
down
(4)
public function load( $oxID)
{
$blRet = parent::load( $oxID);
public function load( $sOXID)
{
//getting at least one field before lazy loading the object
$this->_addField('oxid', 0);
$sSelect = $this->buildSelectString( array( $this->getViewName().".oxid" => $sOXID));
return $this->_isLoaded = $this->assignRecord( $sSelect );
}
/application/models/oxarticle.php
/core/oxbase.php
28. Custom
classes
(1)
• Most
view-‐
and
core
classes
can
be
overloaded
• Module
are
registered
in
backend
• Object
instantiation
via
oxNew():
core/oxutilsobject.php
oxArticle
my_oxArticle
our_oxArticle
class my_oxArticle extends oxArticle
class our_oxArticle extends my_oxArticle
29. Custom
classes
(2)
• This
procedure
becomes
problematic
when
there
is
more
than
one
new
module
wanting
to
extend
a
speci^ic
class.
• Solution:
oxNew()
dynamically
creates
transparent
classes
in
the
form
of:
[class-name]_parent
• This
means
that
by
means
of
the
following
structure,
module
classes
can
be
chained:
– oxArticle
=>
my_oxArticle&our_oxArticle
30. Plugins
(1)
• Task:
Write
a
module
that
displays
the
remaining
time
until
X
mas
with
each
article.
1. New
module
directory:
/modules/xmas/
2. Publishing
it
via
metadata.php
(used
to
be
via
Admin)
'extend' => array(
'oxarticle' => ‘xmas/xmasArticle'
)
31. Plugins
(2)
class
xmasArticle
extends
xmasArticle_parent
{
public
function
getDaysLeft()
{
$time
=
mktime(0,
0,
0,
12,
25,
2011,
1)
-‐
time();
$days
=
^loor($time/86400);
return
$days;
}
}
<div>Only [{$oDetailsProduct->getDaysLeft()}] days left until Xmas!</div>
/modules/xmas/xmasArticle.php
/out/azure/tpl/page/details/inc/productmain.tpl
32.
33. Brief
History
• First
stable
version
released
in
2007.
• OS-‐Edition
since
October
2010.
• Since
v.3.5
based
on
Enlight
Framework
(based
on
ZF)
&
MySQL
• MVC-‐Model
• Backend
based
on
ExtJS
4
• Templates
based
on
Smarty
3
• Recent
version:
4.0.7
34. Enlight-‐Framework
• Basis
functionalities
are
inherited
from
Zend
Framework:
• Syntax
and
Work^low
• Request-‐
and
Response-‐Objects
• Action-‐Controller
Design
• Rewritten
Router
/
Dispatcher
and
View-‐
Object
optimised
for
performance
and
expandability
• Own
plugin
system
based
on
events
and
hooks
39. Drilling
down
Example:
How
to
get
from
the
article
name
in
the
Smarty-‐Template
to
the
database
^ield?
40. Drilling
down
(2)
• Article
detail
page:
templates_defaultfrontenddetailindex.tpl
• Part
that
displays
article
name
in
frontend
• Template-‐Path
(frontend/detail/index.tpl)
tells
us
where
to
^ind
the
corresponding
controller.
In
this
case:
Shopware/Controllers/
Frontend/Detail.php
–
indexAction.
• Get
article
information
from
Model
and
assign
to
template
• Shopware()->Modules()->Articles()
is
a
service
locator
to
access
the
main
article
object
that
could
be
found
at
/engine/core/class/
sArticles.php
• sGetArticleById
fetches
a
certain
article
by
id
from
database
and
returns
the
result
as
an
array
for
further
processing
41. Plugins:
Bootstrap
<?php
class Shopware_Plugins_Frontend_IPCDEMO_Bootstrap
extends Shopware_Components_Plugin_Bootstrap
{
public function install()
{
//
return true;
}
public static function onPostDispatch(Enlight_Event_EventArgs $args)
{
// Still empty
}
}
42. Plugins:
Event
public function install()
{
$event = $this->createEvent('Enlight_Controller_Action_PostDispatch','onPostDispatch');
$this-> subscribeEvent($event);
$form = $this->Form();
$form->setElement('textarea', ’yourtext',
array('label'=>’Text for left column’,'value'=>’Hello World'));
$form->save();
return true;
}
44. Plugins:
Hooks
<?php
class Shopware_Plugins_Frontend_myHook_Bootstrap extends Shopware_Components_Plugin_Bootstrap
{
public function install()
{
$hook = $this->createHook(
'sArticles',
'sGetArticleById',
'onArticle',
Enlight_Hook_HookHandler::TypeAfter,
0
);
$this->subscribeHook($hook);
return true;
}
static function onArticle(Enlight_Hook_HookArgs $args)
{
}
}
45. Summary
•
Each
system
employs
a
slightly
different
method
of
inserting
custom
functionalities
•
Layout
and
functional
^iles
are
more
or
less
encapsulated
•
No
core-‐hacking
required
–
still
a
need
for
testing!