This document provides an overview and introduction to the Tienda development framework. It discusses key aspects of the Tienda codebase including models, tables, helpers, plugins and the loader. Models are described as "dumb" classes that fetch data from the database without interacting with request data or having a default state. Tables are described as powered up versions of JTable that support multiple key loading and contain useful methods. Helpers are classes that perform common actions not handled by models, controllers or tables, such as currency conversion and image resizing. The loader allows dynamic loading of classes to avoid loading everything at once. Plugins extend base plugin classes to add functionality like shipping or payment modules.
Las retenciones a las exportaciones y el conflicto del campo.
- Aportes para la discusion
- Claves para su comprension
- Verdades y mentiras
- Lo que los medios no dicen
Una contribucion del Ateneo Arturo Jauretche para esclarecer el debate e indagar en un problema que nos involucra a todos los argentinos.
Las retenciones a las exportaciones y el conflicto del campo.
- Aportes para la discusion
- Claves para su comprension
- Verdades y mentiras
- Lo que los medios no dicen
Una contribucion del Ateneo Arturo Jauretche para esclarecer el debate e indagar en un problema que nos involucra a todos los argentinos.
Can WordPress be an "enterprise CMS" for a million dollar deal? What are the barriers to those kind of projects? How do you compete using WordPress? Where does WordPress, and the WordPress community, need to improve to take on these challenges?
Presented at JavaZone (10th September 2014)
Video available at https://vimeo.com/105758303
But how much reason supports the rituals and mantras often repeated as coding guidelines? It turns out that the advice often fails, even for the novices they are intended to guide. Let's reason through these rather than accept them as unquestioned habits.
How many asserts should a test case have or not have? How much work should a constructor (not) do? What mantra guides test-first programming? How do you name your classes and other identifiers? How do you lay out your code? These questions and others have standard answers based on received and repeated mantras, practices that are communicated in good faith to be passed on as habits. But how much reason supports these assertions? It turns out that the advice often fails, even for the novices they are intended to guide.
This talk has little respect for ritual and tradition and takes no prisoners: What actually makes sense and what doesn't when it comes to matters of practice? What guidelines offer the greatest effect and the greatest learning?
Things i wish i knew about drupal commerceWill Hall
Presented at DrupalCambs March 2012. The presentation looks at the fantastic Drupal Commerce module and how you can look to get up and running with it quicker.
It lists modules you can use and ideas to look at how to restructure the thinking of your e-commerce platform.
Most of us started with patterns by Eric Evans and others. This helped us build models using Object Orientated Design and we have grown to appreciate the value of patterns such as Aggregate and Value Object. This talk looks forward and consists of various attempts to push our boundaries towards a more declarative way of domain modelling. We will look at a functional and logic based approach to design, where the statement of the requirement is the model itself. Apart from the variable choices in programming languages, the thinking tools that arise from this helps reduces the impedance between programmers and domain experts. The intention of this talk is to share, generate conversation so that we move forward as a community.
Alex Podopryhora - Selling across multiple channels made easyMeet Magento Italy
The heydays of conventional “brick and mortar” as well as catalogue channels are over. The online multichannel transformation has made it more difficult for businesses to acquire and retain shoppers; it has added major challenges to a product online visibility and stock management. But all this can be addressed with new strategies while managing multichannel complexities.
What are the main online marketplaces?
What multi channel solution choices are available?
What is 3rd generation multi-channel software?
How to succeed with very little or no budget?
Alex Podopryhora (co-founder of M2E Pro) answers those questions in great detail and shows how to start selling across multiple channels in no time.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Can WordPress be an "enterprise CMS" for a million dollar deal? What are the barriers to those kind of projects? How do you compete using WordPress? Where does WordPress, and the WordPress community, need to improve to take on these challenges?
Presented at JavaZone (10th September 2014)
Video available at https://vimeo.com/105758303
But how much reason supports the rituals and mantras often repeated as coding guidelines? It turns out that the advice often fails, even for the novices they are intended to guide. Let's reason through these rather than accept them as unquestioned habits.
How many asserts should a test case have or not have? How much work should a constructor (not) do? What mantra guides test-first programming? How do you name your classes and other identifiers? How do you lay out your code? These questions and others have standard answers based on received and repeated mantras, practices that are communicated in good faith to be passed on as habits. But how much reason supports these assertions? It turns out that the advice often fails, even for the novices they are intended to guide.
This talk has little respect for ritual and tradition and takes no prisoners: What actually makes sense and what doesn't when it comes to matters of practice? What guidelines offer the greatest effect and the greatest learning?
Things i wish i knew about drupal commerceWill Hall
Presented at DrupalCambs March 2012. The presentation looks at the fantastic Drupal Commerce module and how you can look to get up and running with it quicker.
It lists modules you can use and ideas to look at how to restructure the thinking of your e-commerce platform.
Most of us started with patterns by Eric Evans and others. This helped us build models using Object Orientated Design and we have grown to appreciate the value of patterns such as Aggregate and Value Object. This talk looks forward and consists of various attempts to push our boundaries towards a more declarative way of domain modelling. We will look at a functional and logic based approach to design, where the statement of the requirement is the model itself. Apart from the variable choices in programming languages, the thinking tools that arise from this helps reduces the impedance between programmers and domain experts. The intention of this talk is to share, generate conversation so that we move forward as a community.
Alex Podopryhora - Selling across multiple channels made easyMeet Magento Italy
The heydays of conventional “brick and mortar” as well as catalogue channels are over. The online multichannel transformation has made it more difficult for businesses to acquire and retain shoppers; it has added major challenges to a product online visibility and stock management. But all this can be addressed with new strategies while managing multichannel complexities.
What are the main online marketplaces?
What multi channel solution choices are available?
What is 3rd generation multi-channel software?
How to succeed with very little or no budget?
Alex Podopryhora (co-founder of M2E Pro) answers those questions in great detail and shows how to start selling across multiple channels in no time.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
7. Summary
Who am I?
Who are You?
What’s this workshop about?
projects.dioscouri.com : the home for Tienda Development
8. Summary
Who am I?
Who are You?
What’s this workshop about?
projects.dioscouri.com : the home for Tienda Development
Tienda Codebase: brief introduction
9. Summary
Who am I?
Who are You?
What’s this workshop about?
projects.dioscouri.com : the home for Tienda Development
Tienda Codebase: brief introduction
What are we going to build?
10. Summary
Who am I?
Who are You?
What’s this workshop about?
projects.dioscouri.com : the home for Tienda Development
Tienda Codebase: brief introduction
What are we going to build?
CODING !!!!
12. Who am I?
Daniele Rosario
Weble is an italian company
that focuses on Joomla! based
websites, internet marketing
and web development.
13. Who am I?
Daniele Rosario
Weble is an italian company Dioscouri Design is a
that focuses on Joomla! based Manhattan-based design firm
websites, internet marketing specializing in PHP and
and web development. MySQL, with a particular
emphasis on the open source
PHP package, Joomla!
17. Who are You?
Fresh New Web Developers?
Experienced Web Developers?
Joomla! Web Developers?
18. Who are You?
Fresh New Web Developers?
Experienced Web Developers?
Joomla! Web Developers?
Tienda Web Developers?
19. Who are You?
Fresh New Web Developers?
Experienced Web Developers?
Joomla! Web Developers?
Tienda Web Developers?
....... What’s a Developer? ( If this is your answer, you’re
probably in the wrong room! )
33. http://projects.dioscouri.com
Public Space for all Dioscouri.com projects
Tienda Community dedicated space
Register now!
Checkout the SVN branch at “branches/jab11”
Fire up you IDE! ( or your notepad, if you want! )
43. Models
Are “Dumb” - they will do what they are told to do.
No default “State” - default is: return all the results.
44. Models
Are “Dumb” - they will do what they are told to do.
No default “State” - default is: return all the results.
Do not interact with $_REQUEST or other data sources
45. Models
Are “Dumb” - they will do what they are told to do.
No default “State” - default is: return all the results.
Do not interact with $_REQUEST or other data sources
Fetch the data from the Database
46. Models
Are “Dumb” - they will do what they are told to do.
No default “State” - default is: return all the results.
Do not interact with $_REQUEST or other data sources
Fetch the data from the Database
$date = JFactory::getDate()->toMysql();
$model = JModel::getInstance( 'Products', 'TiendaModel' );
$model->setState('filter_published', '1');
$model->setState('filter_published_date', $date );
$model->setState('filter_enabled', '1');
$products = $model->getList();
50. Tables
Powered up version of JTable
Support multiple keys loading
Used for fetching single rows from the Database
51. Tables
Powered up version of JTable
Support multiple keys loading
Used for fetching single rows from the Database
Contains some cool & useful methods
52. Tables
Powered up version of JTable
Support multiple keys loading
Used for fetching single rows from the Database
Contains some cool & useful methods
$order = JTable::getInstance( 'Orders', 'TiendaTable' );
$foreach( $items as $item )
{
$order->addItem( $item );
}
$order->calculateTotals();
$total = $order->order_total;
58. Helpers
Helpers perform common actions that do not fit in M, C or T
Currency Conversion
Routing
Image Resizing
TiendaHelperImage::resize( ‘product.jpg’ );
61. Loader
Tienda has a LOT of classes
We didn’t want to load everything (that is really too much!)
62. Loader
Tienda has a LOT of classes
We didn’t want to load everything (that is really too much!)
Solution: dynamic loading
63. Loader
Tienda has a LOT of classes
We didn’t want to load everything (that is really too much!)
Solution: dynamic loading
When you need a class, just load it first, and then call it!
64. Loader
Tienda has a LOT of classes
We didn’t want to load everything (that is really too much!)
Solution: dynamic loading
When you need a class, just load it first, and then call it!
Tienda::load( ‘TiendaHelperProducts’, ‘helpers.products’ );
TiendaHelperProduct::getGalleryImages( $product_id );
65. Loader
Tienda has a LOT of classes
We didn’t want to load everything (that is really too much!)
Solution: dynamic loading
When you need a class, just load it first, and then call it!
Tienda::load( ‘TiendaHelperProducts’, ‘helpers.products’ );
TiendaHelperProduct::getGalleryImages( $product_id );
Or just get it, if you are lazy
66. Loader
Tienda has a LOT of classes
We didn’t want to load everything (that is really too much!)
Solution: dynamic loading
When you need a class, just load it first, and then call it!
Tienda::load( ‘TiendaHelperProducts’, ‘helpers.products’ );
TiendaHelperProduct::getGalleryImages( $product_id );
Or just get it, if you are lazy
Tienda::get( ‘TiendaHelperProducts’, ‘helpers.products’ )->getGalleryImages( $product_id );
70. Plugins
Plugins that extends our base classes
TiendaPluginBase - (template override support & common methods)
TiendaShippingPlugin - (base class and interface for shipping plugins)
71. Plugins
Plugins that extends our base classes
TiendaPluginBase - (template override support & common methods)
TiendaShippingPlugin - (base class and interface for shipping plugins)
TiendaPaymentPlugin - (base class and interface for payment plugins)
72. Plugins
Plugins that extends our base classes
TiendaPluginBase - (template override support & common methods)
TiendaShippingPlugin - (base class and interface for shipping plugins)
TiendaPaymentPlugin - (base class and interface for payment plugins)
TiendaReportPlugin - (base report plugin with helper methods)
73. Plugins
Plugins that extends our base classes
TiendaPluginBase - (template override support & common methods)
TiendaShippingPlugin - (base class and interface for shipping plugins)
TiendaPaymentPlugin - (base class and interface for payment plugins)
TiendaReportPlugin - (base report plugin with helper methods)
TiendaToolPlugin - (multistep support & helper methods)
75. Plugins
( again)
A LOT of plugin events in Tienda code ( see Tienda Event List )
76. Plugins
( again)
A LOT of plugin events in Tienda code ( see Tienda Event List )
400 +
77. Plugins
( again)
A LOT of plugin events in Tienda code ( see Tienda Event List )
400 +
You can do almost EVERYTHING with a simple plugin
78. Plugins
( again)
A LOT of plugin events in Tienda code ( see Tienda Event List )
400 +
You can do almost EVERYTHING with a simple plugin
Tienda has a neat url that allows you to call any plugin method
79. Plugins
( again)
A LOT of plugin events in Tienda code ( see Tienda Event List )
400 +
You can do almost EVERYTHING with a simple plugin
Tienda has a neat url that allows you to call any plugin method
‘index.php?option=com_tienda&task=doTask&element=plugin_name&elementTask=pluginMethod’
81. Plugins
( this is the last one, i promise! )
All Tienda Plugins supports html overrides
82. Plugins
( this is the last one, i promise! )
All Tienda Plugins supports html overrides
template files in the plugin subfolder “tmpl”
83. Plugins
( this is the last one, i promise! )
All Tienda Plugins supports html overrides
template files in the plugin subfolder “tmpl”
output with $this->_getLayout( $filename );
84. Plugins
( this is the last one, i promise! )
All Tienda Plugins supports html overrides
template files in the plugin subfolder “tmpl”
output with $this->_getLayout( $filename );
All Tienda Plugins can have their own MVC
85. Plugins
( this is the last one, i promise! )
All Tienda Plugins supports html overrides
template files in the plugin subfolder “tmpl”
output with $this->_getLayout( $filename );
All Tienda Plugins can have their own MVC
You can write extensions for Tienda in just a few hours of work,
without compromising the entire system!
86. What are we going to build?
Ideas?
More than one extension at the same time?