Designed to speed up implementation of common automation tasks, the kaliop workflow bundle brings together existing technologies (the eZ Platform SignalSlot mechanism and the Kaliop Migrations Bundle) to bring back to eZ one of the few missing functionalities at the core of a modern CMS.
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...Gaetano Giunta
1. The workshop will cover Docker, managing environments, database changes, and automated deployments for eZPublish websites.
2. A Docker stack is proposed that includes containers for Apache, MySQL, Solr, PHP, and other tools to replicate a production environment for development. Configuration and code are mounted as volumes.
3. Managing environments involves storing settings in the code repository and using symlinks to deploy different configurations. Database changes should be managed via migration scripts rather than connecting directly to a shared database.
4. Automating deployments is important and involves tasks like updating code, the database, caches and reindexing content. The same deployment script should be used for development and production. Testing websites is also recommended.
This document discusses using message brokers like RabbitMQ to asynchronously process tasks like generating Microsoft Office documents from XML content. It describes how using a message broker and queueing bundle improves over a synchronous approach that is slow, unreliable, and does not scale. Specifically, it allows processing jobs to run in parallel without interfering with each other by placing jobs on a message queue where worker processes can pick them up. The document recommends using the Kaliop Queueing Bundle which provides an easy to use and safe way to integrate queues into a Symfony application using multiple broker protocols.
Designing a Docker Stack for Symfony apps: lessons learnedGaetano Giunta
This document summarizes a presentation about designing a Docker stack for Symfony applications. It discusses getting started with Docker and some of the challenges that arise when using it in more complex situations. It then introduces Docker Compose as a way to define and run multiple linked containers together more easily. The rest of the document demonstrates a Docker stack created for Symfony apps, explaining how it works to provide a development environment that replicates production and allows for running multiple projects and environments simultaneously in a simple way. It concludes with a demonstration of the Docker stack in action.
The Three Musketeers: A journey on how Docker and its friends help amaysim deliver software from Development to Production.
Slides of my presentation at the Sydney Docker Meetup.
This document discusses how continuous integration (CI) and continuous delivery (CD) can help software teams automatically merge code changes, deploy updates, and reduce errors. It recommends a simple stack using Gitlab for version control and CI, TYPO3 Surf for automated deployments and testing, and Ansible for infrastructure automation. The document argues that the proServer is well-suited for CI/CD with these tools and that the company punkt.de can help organizations set up and improve their CI/CD processes.
The document summarizes Mozilla's migration of its Socorro crash analysis system from its original infrastructure to a new architecture. It describes Socorro and its purpose of analyzing crash data. It then discusses the rationale for migrating to improve stability, the planning process, building out the new infrastructure with automation and configuration management, load testing the new system, troubleshooting issues during the migration, and lessons learned from the process.
Go is a compiled language that compiles to a single binary without needing a virtual machine. It has built-in support for easy concurrency using goroutines and channels that allows for simple yet powerful communication. Writing servers in Go is also easy due to its powerful and production-ready net/http library, and the code is clean and minimal due to automatic formatting tools and standard practices around the language. The standard library is also very full-featured so most needs are met out of the box, and the language is designed to be easy to use, learn and get started with through commands like "go get", "go build", and "go test".
Ursula Sarracini - When Old Meets New: CodebasesAnton Caceres
Presented at FrontConf 2017 in Munich by Ursula Sarracini
When your codebase has 13 million lines of code, is written in C++/XUL, and dates back to 1998, it may seem like an impossible task to write a modern web app using technologies like React, and tools like Github, while still managing a graceful integration with the existing codebase. Developing new functionality in a legacy codebase which wasn’t originally built for the modern web can introduce a bunch of new and exciting challenges. This talk will categorize the problems of when old code meets new code in four ways: testing challenges, source control and issue tracking challenges, human and cultural challenges, and technical challenges.
At Mozilla, I’m working on a major feature which was developed independently from the rest of the Firefox codebase, and has since been tightly integrated into the rest of the source tree. Along the way we have faced challenges in each of the categories. I will identify some of the pitfalls that developers can run into when trying to merge old and new codebases, and will provide practical advice in avoiding these problems down the road.
Vincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostustaVincitOy
Modernin ohjelmistoprojektin odotetaan olevan yksikkö- ja integraatiotestattu, koodikattavuuden kartoitettu, muutosten katselmoitu, ja koodin siirtyvän automaattisesti versiohallinnasta ajoon beta- ja tuotantoklustereille. Milloin? No versiohallintaan puskettaessa tietysti. Versiohallintalähtöistä, automoitua lähdekoodin ja tuotteenhallintaa GitHubista Traviksen syövereihin ja ajoon Amazonin Elastic Beanstalkiin. Tule kuulemaan hiljaista tietoa tämän vuosituhannen ohjelmistokehityksen perustyökaluista.
Micro-Services and cloud-based applications demand robust and flexible CI/CD pipelines. Manually creating a Jenkins Job using the UI is just not an option any more, but which tool should we use? In this talk we will cover Jenkns Pipeline, Gitlab CI and Concourse. We will see the use case for every tool and when should we use it.
This document discusses Docker, a tool for creating and running containerized applications. It explains that Docker provides simple deployment of applications by allowing quick starting of images with the same speed as starting programs directly. It also enables central repositories for images, repeatable testing environments, and easier scaling of applications across multiple servers. Some potential issues discussed are that Docker only supports Linux containers currently, adds more moving parts than traditional virtualization, and requires learning something new. The document demonstrates installing and using Docker through examples and recommends best practices.
The document provides an overview and agenda for a Ruby mid-term review session. It discusses using Cucumber for behavior driven development and testing with MiniTest. It also demonstrates how to write Cucumber features and step definitions, and integrate Cucumber tests with Jeweler and Travis.
Devops and Immutable infrastructure - Cloud Expo 2015 NYCJohn Willis
You often hear the two titles of "DevOps" and "Immutable Infrastructure" used independently.
In his session at DevOps Summit, John Willis, Technical Evangelist for Docker, will cover the union between the two topics and why this is important. He will cover an overview of Immutable Infrastructure then show how an Immutable Continuous Delivery pipeline can be applied as a best practice for "DevOps." He will end the session with some interesting case study examples.
Serverless is aiming to be the future of software development, but what does it really mean running without servers? In this session we will explain how to build a serverless application on top of AWS. We will understand how AWS Lambda functions work, how to use them properly and how can we debug and monitor serverless application.
Infrastructure microservices such as Service Discovery and Routing need mechanisms to manage distributed state. The most common answer for this is the use of a central, consistent key value store such as Consul, Etcd or Zookeeper. These systems use consensus-based algorithms, such as Raft or Paxos, to provide consistency and failure tolerance.
I believe this is a dangerous direction for our industry, and instead we should be focusing on ease of use and reliabiligy. As such, Weave wants its infrastructure microservices to be decentralized, yet easy to install and run; our approach is inspired by the Internet, which is distributed and operates with no consensus. In this talk, I'll explain how we designed our Service Discovery and Address Management using Convergent Replicated Data Types (CRDTs) and Gossip, review the pros and cons of this concept, and how it compares to alternatives.
Microsoft has built a rich ecosystem around the various flavors of ASP.NET – MVC, Web API and even WebForms have a place in the modern web development world. So what the heck is up with ASP.NET Core anyways? Microsoft has flipped the ASP.NET world on its head with this fast, cross-platform web framework, designed from the ground up with developers from all walks of life in mind – and the change isn’t as scary as you think.
In this session, we’ll learn about ASP.NET Core and its design philosophies. We’ll learn how to leverage several popular development tools frequently used by developers outside of the ASP.NET ecosystem, including Gulp, Bower, Node and NPM, to build and run our application. Finally, we’ll use Visual Studio Code to create and run our very first ASP.NET Core project (on a Mac no less!)
For current ASP.NET developers, we’ll also touch on the portability of your current ASP.NET code.
The document discusses the modern frontend toolchain for developing complex client-side JavaScript applications. It recommends using command line tools like Homebrew, NPM, RubyGems to manage dependencies. Source code management with Git and feature branching workflow is also emphasized. Node.js and package managers like NPM and Bower are introduced to help manage third-party libraries. Task automation with Grunt is presented as a way to automate common development tasks like testing, preprocessing, and building.
This document provides an overview of Celery, an asynchronous task queue/job queue based on distributed message passing. It discusses offline execution vs online, installing and configuring Celery, creating simple tasks, integrating with Django, deployment considerations, and how Celery is used at Aviso. The agenda includes an introduction to Celery, installing it, creating simple tasks, using Celery Canvas to divide work, and deployment best practices.
5 Popular Choices for NoSQL on a Microsoft Platform - All Things Open - Octob...Matthew Groves
If you are thinking of trying out a NoSQL document database, there are many good options available to Microsoft-oriented developers. In this session, we’ll compare some of the more popular databases, including: CosmosDb, Couchbase, MongoDb, CouchDb, and RavenDb. We’ll look at the strengths and weaknesses of each system. Querying, scaling, usability, speed, deployment, support and flexibility will all be covered. This session will include a discussion about when NoSQL is right for your project and give you an idea of which technology to pursue for your use case.
This document discusses tools for creating a WordPress development environment. It covers common development setups like LAMP/LEMP stacks, tools for local development like text editors and version control, and options for setting up a local environment like MAMP, native Linux/Mac stacks, Virtual Machines with Vagrant/VVV, and containers with Docker. The goals are to choose tools that allow for effective collaboration, testing, and deploying code across different environments.
This document provides an agenda and overview for a class on using Git, GitHub, and VSCode. It introduces command line basics, files and directories, terminal commands, text editors, GitHub, Git basics, and a homework assignment to create a GitHub repository and JavaScript program. Key topics covered include the Git workflow, essential Git commands, using GitHub Pages to host websites, and an introduction to JavaScript programming.
Stabilizing SE Build - Selenium conf 2013 dimakovalenko
Dima Kovalenko discusses stabilizing Selenium builds at Groupon. Some key points include:
- Convincing management that flaky tests waste money and discouraging reliance on tests.
- Preventing red builds from being merged and ensuring a green master.
- Automating detection of flaky tests by running changed tests thousands of times.
- Standardizing test environments with tools like Chef to reduce environmental problems.
- Controlling the OS from tests to help clean up sessions and kill browsers.
- Open sourcing Selenium Grid Extras for maintaining stable test environments.
Presentation for Walnut St Labs "iSchool" - Meant to be an inspiring and informative presentation about what is available to developers for full devops automation for FREE.
Reuven Lerner's presentation from Open Ruby Day in Herzliya, Israel on June 27th, 2010. I covered a few tools that are not part of Rails, but which help you with deployment,
OpenFaaS serverless framework for Docker and Kubernetes - LondonAlex Ellis
The document discusses OpenFaaS, an open source serverless framework that allows users to build and deploy functions using Docker containers. It can run functions on Kubernetes as well as Docker Swarm. OpenFaaS aims to provide a simple way to develop and deploy serverless applications using containers. The document outlines how OpenFaaS works, how to write functions using different languages, and how to deploy and manage functions on Kubernetes or Docker Swarm. It also discusses asynchronous processing using queues and provides examples of serverless applications that have been built with OpenFaaS.
Dark launching with Consul at Hootsuite - Bill MonkmanAmbassador Labs
Dark Launching (A.K.A. Feature Flagging) is a technique and mindset that has truly shaped the way we write, test, and deploy code at Hootsuite. It gives our team realtime, fine-grained control over our production systems which helps to prevent issues from reaching users, and build developer confidence in a culture of pushing code many times per day.
In this presentation I will go over how the system helps us both in the context of microservices and monoliths, and how we made use of Consul, Hashicorp's HA service discovery / KV store, to make it more resilient and performant at scale.
eZ Publish Opensource open standards conference talkTony Wood
- eZ Systems is a commercial open source software company founded in 1999 that provides the eZ Publish content management platform. It has over 350 partners and 15,000 customers in 120 countries.
- The Autonomous Province of Trento in Italy implemented eZ Publish to enable citizens to report issues and provide feedback, allow local organizations to communicate initiatives, and create a forum for citizen observations across 10 valley communities and 20 municipalities.
- The European Space Agency (ESA) implemented eZ Publish as its main CMS to unify its many websites and centrally manage over 1,300 videos, 10,500 images, and news/articles across 20 European countries in 11 search categories and 100+ sub-categories
We, Bharat Hydraulic, are a manufacturer, retailer, trader and exporter of a superlative array of Industrial Machinery, Tile Molds and High Pressure Machine. These products are appreciated for their sturdy construction and low maintenance.
This document appears to be an employment contract between Asia Precision Public Company Limited and an individual named Shrinivas R. Some key details:
- It offers Shrinivas R a two-year contract as a CNC Programmer & Machinist.
- The initial monthly salary is 28,000 Baht, increasing to 30,000 Baht after a successful 4-month probation period.
- It outlines terms regarding work permits, duties, termination, leave, benefits, and compliance with company rules and safety regulations.
- Shrinivas R signs to accept the terms, with his signature and the date at the bottom.
Ursula Sarracini - When Old Meets New: CodebasesAnton Caceres
Presented at FrontConf 2017 in Munich by Ursula Sarracini
When your codebase has 13 million lines of code, is written in C++/XUL, and dates back to 1998, it may seem like an impossible task to write a modern web app using technologies like React, and tools like Github, while still managing a graceful integration with the existing codebase. Developing new functionality in a legacy codebase which wasn’t originally built for the modern web can introduce a bunch of new and exciting challenges. This talk will categorize the problems of when old code meets new code in four ways: testing challenges, source control and issue tracking challenges, human and cultural challenges, and technical challenges.
At Mozilla, I’m working on a major feature which was developed independently from the rest of the Firefox codebase, and has since been tightly integrated into the rest of the source tree. Along the way we have faced challenges in each of the categories. I will identify some of the pitfalls that developers can run into when trying to merge old and new codebases, and will provide practical advice in avoiding these problems down the road.
Vincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostustaVincitOy
Modernin ohjelmistoprojektin odotetaan olevan yksikkö- ja integraatiotestattu, koodikattavuuden kartoitettu, muutosten katselmoitu, ja koodin siirtyvän automaattisesti versiohallinnasta ajoon beta- ja tuotantoklustereille. Milloin? No versiohallintaan puskettaessa tietysti. Versiohallintalähtöistä, automoitua lähdekoodin ja tuotteenhallintaa GitHubista Traviksen syövereihin ja ajoon Amazonin Elastic Beanstalkiin. Tule kuulemaan hiljaista tietoa tämän vuosituhannen ohjelmistokehityksen perustyökaluista.
Micro-Services and cloud-based applications demand robust and flexible CI/CD pipelines. Manually creating a Jenkins Job using the UI is just not an option any more, but which tool should we use? In this talk we will cover Jenkns Pipeline, Gitlab CI and Concourse. We will see the use case for every tool and when should we use it.
This document discusses Docker, a tool for creating and running containerized applications. It explains that Docker provides simple deployment of applications by allowing quick starting of images with the same speed as starting programs directly. It also enables central repositories for images, repeatable testing environments, and easier scaling of applications across multiple servers. Some potential issues discussed are that Docker only supports Linux containers currently, adds more moving parts than traditional virtualization, and requires learning something new. The document demonstrates installing and using Docker through examples and recommends best practices.
The document provides an overview and agenda for a Ruby mid-term review session. It discusses using Cucumber for behavior driven development and testing with MiniTest. It also demonstrates how to write Cucumber features and step definitions, and integrate Cucumber tests with Jeweler and Travis.
Devops and Immutable infrastructure - Cloud Expo 2015 NYCJohn Willis
You often hear the two titles of "DevOps" and "Immutable Infrastructure" used independently.
In his session at DevOps Summit, John Willis, Technical Evangelist for Docker, will cover the union between the two topics and why this is important. He will cover an overview of Immutable Infrastructure then show how an Immutable Continuous Delivery pipeline can be applied as a best practice for "DevOps." He will end the session with some interesting case study examples.
Serverless is aiming to be the future of software development, but what does it really mean running without servers? In this session we will explain how to build a serverless application on top of AWS. We will understand how AWS Lambda functions work, how to use them properly and how can we debug and monitor serverless application.
Infrastructure microservices such as Service Discovery and Routing need mechanisms to manage distributed state. The most common answer for this is the use of a central, consistent key value store such as Consul, Etcd or Zookeeper. These systems use consensus-based algorithms, such as Raft or Paxos, to provide consistency and failure tolerance.
I believe this is a dangerous direction for our industry, and instead we should be focusing on ease of use and reliabiligy. As such, Weave wants its infrastructure microservices to be decentralized, yet easy to install and run; our approach is inspired by the Internet, which is distributed and operates with no consensus. In this talk, I'll explain how we designed our Service Discovery and Address Management using Convergent Replicated Data Types (CRDTs) and Gossip, review the pros and cons of this concept, and how it compares to alternatives.
Microsoft has built a rich ecosystem around the various flavors of ASP.NET – MVC, Web API and even WebForms have a place in the modern web development world. So what the heck is up with ASP.NET Core anyways? Microsoft has flipped the ASP.NET world on its head with this fast, cross-platform web framework, designed from the ground up with developers from all walks of life in mind – and the change isn’t as scary as you think.
In this session, we’ll learn about ASP.NET Core and its design philosophies. We’ll learn how to leverage several popular development tools frequently used by developers outside of the ASP.NET ecosystem, including Gulp, Bower, Node and NPM, to build and run our application. Finally, we’ll use Visual Studio Code to create and run our very first ASP.NET Core project (on a Mac no less!)
For current ASP.NET developers, we’ll also touch on the portability of your current ASP.NET code.
The document discusses the modern frontend toolchain for developing complex client-side JavaScript applications. It recommends using command line tools like Homebrew, NPM, RubyGems to manage dependencies. Source code management with Git and feature branching workflow is also emphasized. Node.js and package managers like NPM and Bower are introduced to help manage third-party libraries. Task automation with Grunt is presented as a way to automate common development tasks like testing, preprocessing, and building.
This document provides an overview of Celery, an asynchronous task queue/job queue based on distributed message passing. It discusses offline execution vs online, installing and configuring Celery, creating simple tasks, integrating with Django, deployment considerations, and how Celery is used at Aviso. The agenda includes an introduction to Celery, installing it, creating simple tasks, using Celery Canvas to divide work, and deployment best practices.
5 Popular Choices for NoSQL on a Microsoft Platform - All Things Open - Octob...Matthew Groves
If you are thinking of trying out a NoSQL document database, there are many good options available to Microsoft-oriented developers. In this session, we’ll compare some of the more popular databases, including: CosmosDb, Couchbase, MongoDb, CouchDb, and RavenDb. We’ll look at the strengths and weaknesses of each system. Querying, scaling, usability, speed, deployment, support and flexibility will all be covered. This session will include a discussion about when NoSQL is right for your project and give you an idea of which technology to pursue for your use case.
This document discusses tools for creating a WordPress development environment. It covers common development setups like LAMP/LEMP stacks, tools for local development like text editors and version control, and options for setting up a local environment like MAMP, native Linux/Mac stacks, Virtual Machines with Vagrant/VVV, and containers with Docker. The goals are to choose tools that allow for effective collaboration, testing, and deploying code across different environments.
This document provides an agenda and overview for a class on using Git, GitHub, and VSCode. It introduces command line basics, files and directories, terminal commands, text editors, GitHub, Git basics, and a homework assignment to create a GitHub repository and JavaScript program. Key topics covered include the Git workflow, essential Git commands, using GitHub Pages to host websites, and an introduction to JavaScript programming.
Stabilizing SE Build - Selenium conf 2013 dimakovalenko
Dima Kovalenko discusses stabilizing Selenium builds at Groupon. Some key points include:
- Convincing management that flaky tests waste money and discouraging reliance on tests.
- Preventing red builds from being merged and ensuring a green master.
- Automating detection of flaky tests by running changed tests thousands of times.
- Standardizing test environments with tools like Chef to reduce environmental problems.
- Controlling the OS from tests to help clean up sessions and kill browsers.
- Open sourcing Selenium Grid Extras for maintaining stable test environments.
Presentation for Walnut St Labs "iSchool" - Meant to be an inspiring and informative presentation about what is available to developers for full devops automation for FREE.
Reuven Lerner's presentation from Open Ruby Day in Herzliya, Israel on June 27th, 2010. I covered a few tools that are not part of Rails, but which help you with deployment,
OpenFaaS serverless framework for Docker and Kubernetes - LondonAlex Ellis
The document discusses OpenFaaS, an open source serverless framework that allows users to build and deploy functions using Docker containers. It can run functions on Kubernetes as well as Docker Swarm. OpenFaaS aims to provide a simple way to develop and deploy serverless applications using containers. The document outlines how OpenFaaS works, how to write functions using different languages, and how to deploy and manage functions on Kubernetes or Docker Swarm. It also discusses asynchronous processing using queues and provides examples of serverless applications that have been built with OpenFaaS.
Dark launching with Consul at Hootsuite - Bill MonkmanAmbassador Labs
Dark Launching (A.K.A. Feature Flagging) is a technique and mindset that has truly shaped the way we write, test, and deploy code at Hootsuite. It gives our team realtime, fine-grained control over our production systems which helps to prevent issues from reaching users, and build developer confidence in a culture of pushing code many times per day.
In this presentation I will go over how the system helps us both in the context of microservices and monoliths, and how we made use of Consul, Hashicorp's HA service discovery / KV store, to make it more resilient and performant at scale.
eZ Publish Opensource open standards conference talkTony Wood
- eZ Systems is a commercial open source software company founded in 1999 that provides the eZ Publish content management platform. It has over 350 partners and 15,000 customers in 120 countries.
- The Autonomous Province of Trento in Italy implemented eZ Publish to enable citizens to report issues and provide feedback, allow local organizations to communicate initiatives, and create a forum for citizen observations across 10 valley communities and 20 municipalities.
- The European Space Agency (ESA) implemented eZ Publish as its main CMS to unify its many websites and centrally manage over 1,300 videos, 10,500 images, and news/articles across 20 European countries in 11 search categories and 100+ sub-categories
We, Bharat Hydraulic, are a manufacturer, retailer, trader and exporter of a superlative array of Industrial Machinery, Tile Molds and High Pressure Machine. These products are appreciated for their sturdy construction and low maintenance.
This document appears to be an employment contract between Asia Precision Public Company Limited and an individual named Shrinivas R. Some key details:
- It offers Shrinivas R a two-year contract as a CNC Programmer & Machinist.
- The initial monthly salary is 28,000 Baht, increasing to 30,000 Baht after a successful 4-month probation period.
- It outlines terms regarding work permits, duties, termination, leave, benefits, and compliance with company rules and safety regulations.
- Shrinivas R signs to accept the terms, with his signature and the date at the bottom.
This document outlines 5 steps to develop your personality: 1) Accept yourself and take responsibility for your decisions; 2) Visualize your goals and dreams to focus on achieving them; 3) Learn from both your own mistakes and others' to gain success; 4) Challenge yourself daily to learn something new; 5) Maintain a positive mindset filled with positive thoughts and no room for negativity. Following these 5 steps can help change your life.
The document discusses selecting a content management system for law firms. It notes that the landscape of options is complex, with systems ranging from over $500,000 to under $100,000 in licensing fees. Upper-range systems may be over-featured and have long implementation times over 12 months, while low-mid range systems have limited capabilities and integration. The document lists several enterprise, upper range, and mid-range content management system platforms and notes capabilities important for law firm sites include connected content, powerful search, events, workflows, and mobile functionality. It concludes by outlining initial steps for selecting a system like identifying needs, budgets, and content modeling.
This document discusses using message brokers like RabbitMQ to introduce queues for processing document conversions. It describes how using a queue allows processing to be distributed across multiple consumers for better reliability and scalability compared to a single process approach. Specifically, it outlines how the Kaliop QueueingBundle for Symfony provides an easy way to integrate queues and supports multiple broker protocols with a common API.
Power politics arises from the anarchic nature of international relations, where states seek to balance power out of security interests. There are alternatives like world government or collective security, but both face significant challenges in implementation. Collective security aims to replace national power with collective defense, but identifying aggressors is difficult and status quo bias limits peaceful change. While anarchy leads to power politics if states assume it must, the consequences are not automatic as security communities show states can coexist without violence given different experiences. Overall the viability of alternatives to power politics is limited by what levels of change are feasible.
StartupWeekend Amman @ZAINJO business model innovation and secrets of succesf...Rami Al-Karmi
The document discusses topics related to starting a business and entrepreneurship including lean startup principles, business model innovation, secrets of successful startups, mentorship opportunities, outdated tools taught in business schools, stages of venture development, typical startup failure rates, and the importance of having a clear business model and product when seeking funding. It encourages getting out of the building and determining how long financial runway remains.
This chapter introduces key concepts about communication processes and mass media. It discusses the elements of communication including sources, encoding, messages, channels, decoding, receivers, feedback and noise. It describes three main communication settings - interpersonal, machine-assisted interpersonal, and mass communication. It also explains how technological, economic and social forces are transforming traditional mass media and discusses models of mass communication including trends like audience segmentation, convergence, user-generated content and social media.
Bangladesh All Mobile operators query short code.PRAN-RFL Group
This document lists the short codes used by different mobile operators in Bangladesh to check account balances, SIM numbers, data packages, minutes, SMS, and MMS usage. It also provides short codes for services like call me back, mobile internet settings requests, call alerts, and customer service numbers.
This document outlines the course for Islamic Ethics. It begins with definitions of ethics and discusses the differences between ethics and morality. It then covers the scope and importance of Islamic ethics as well as its sources which include the Quran, hadith, theology, philosophy, jurisprudence, and mysticism. It also discusses the relationship between ethics and religion, comparing religious morality to secular morality. Finally, it examines contemporary approaches to ethics and the relationship between ethics, law, and basic human versus Islamic morals.
Al-Farabi was an influential 10th century philosopher born in Transoxania who studied many subjects including philosophy, logic, politics, and mathematics. He proposed theories on human nature, the ideal ruler, and the formation and varieties of states. He described four types of cities - virtuous, ignorance, immoral, and erring - based on their adherence to attaining true happiness for citizens. His political philosophy aimed to advance human societies using some of Plato's approaches while balancing reason and revelation.
Microservices Architecture for Content Management Systems using AWS Lambda an...Mitoc Group
Content Management Systems are by nature resource intensive, expensive to customize, and difficult to manage at scale. What if we can change this perception and help PHP / Drupal developers architect a content platform that is high performance and low cost, high security and low maintenance? This talk will focus on 3 key topics: 1) serverless environment, 2) microservices architecture and 3) hands-on demos. We will describe a serverless solution and propose a scalable architecture that will help Drupal community to adopt cloud-native approach without huge efforts or expensive resources allocation.
DevOps has been an emerging trend in the software development world for the past several years. While the term is relatively new, it is really a convergence of a number of practices that have been evolving for decades. Unfortunately, database development has been left out of much of this movement, but that's starting to change. As database professionals, we all need to understand what this important change is about, how we fit in, and how to best work database development practices into the established DevOps practices.
One of the cornerstones of the DevOps methodology is source control. When most people think of source control, they picture a tool - either a traditional, centralized system like TFS, or a newer, distributed system like Git. Source control is more than a tool, though; human processes and practices also play a critical role in an effective source control (and DevOps) implementation. In this session, we'll talk in depth about both types of source control systems and how you can effectively use source control for your databases.
Que nos espera a los ALM Dudes para el 2013?Bruno Capuano
The document discusses challenges with application lifecycle management (ALM) and recommends adopting agile practices like Scrum and Kanban to improve project predictability, lower costs, and increase team responsiveness. It emphasizes establishing continuous integration using automated testing, version control like Git, and configuration management. Adopting practices like test-driven development, behavior-driven development, and continuous integration can help address typical ALM problems like lack of visibility, ineffective communication, undefined requirements, and inadequate testing.
This lecture is the first part of an introduction to SVC tools with a focus on Git and GitHub. This Lecture discusses the basic concepts as well as Installation and initial configuration of Git
This document provides an overview of key concepts in web development including tools, version control, web servers, and application architecture. It discusses JavaScript and Node.js for programming, Git for version control, and the model-view-controller (MVC) pattern for application structure with models for data, views for display, and controllers for communication. HTTP is covered for browser-server interaction using requests and responses along standard methods and formats.
General introduction of Git and its feature set. Subversion migration strategies using git-svn, subgit or github enterprise. Suitable for different audience types managers, developers, etc.
This document provides an introduction to using Git and version control. It explains the basic concepts and workflow of Git, including initializing and committing to a local repository, pushing changes to a remote repository, and using branches for features and releases. It also discusses how to manage Drupal configuration changes using features in Git.
This document discusses starting Android development from scratch in 2017. It recommends using Kotlin as the language and considering Architecture Components like LiveData and ViewModel. It also discusses options for network layers like GraphQL, gRPC, and REST. The document then covers persistence and caching strategies. It emphasizes treating continuous integration as code using tools like Jenkins Job DSL and Pipelines.
This document provides an agenda and information for moving a website project to Bluemix. It discusses setting up a local development environment, using JSON and REST APIs, and introduces Project 3 which involves adding a database and chatbot to an existing website project. Students are asked to deploy their Project 2 website to Bluemix, set it up locally, and submit links to the Bluemix site and GitHub repository for homework.
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAppDynamics
A cornerstone of the DevOps philosophy, investment in automation at all stages across the SDLC has increased over recent years. Automation promises velocity and reduced errors, helps foster repeatable processes, and removes the need for long hours on dull, repetitive tasks. So what’s not to like? The downside of automation is that unless applied at the right place in your SDLC it can make a bad process worse. Automation also raises questions around job security, the need for re-skilling in other areas, and tool sprawl if different teams each choose their preferred technology. This session will outline:
-A short chronology of where automation has impacted the modern software stack
-Where it makes the most sense to automate (by identifying your key constraints)
-Best practices for adopting automation and how to identify where it’s working — and where it isn’t
For more information, visit: www.appdynamics.com
DevOpsGuys - DevOps Automation - The Good, The Bad and The UglyDevOpsGroup
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly gives an overview of the strengths and weaknesses of DevOps automation, tips on developing your automation strategy, and a high level overview of automation options across the DevOps toolchain.
Docs as Part of the Product - Open Source Summit North America 2018Den Delimarsky
The presentation showcased at the Open Source Summit North America 2018 in Vancouver, BC. It covers the learnings from transitioning the MSDN site functionality and content to docs.microsoft.com.
A shortened summary of the original Article by "Martin Fowler" and "Pramod Sadalage"
https://martinfowler.com/articles/evodb.html
In one of our weekly training, we’ve talked about Git. Here is a quick overview of the main concepts, basic commands and branching strategy, how to work with Git, how to contribute to an OSS project, …
Code for Startup MVP (Ruby on Rails) Session 1Henry S
First Session on Learning to Code for Startup MVP's using Ruby on Rails.
This session covers the web architecture, Git/GitHub and makes a real rails app that is deployed to Heroku at the end.
Thanks,
Henry
Achieving Full Stack DevOps at Colonial Life DevOps.com
In an ever more competitive marketplace, organizations have turned to Agile and DevOps practices to deliver software innovations to market more quickly and with high quality. Across industries, companies are making heavy investments in tools and process improvements around automated build, test, continuous integration and delivery, and release automation and orchestration. However, despite these investments, many organizations are still struggling to bring the necessary speed and quality to their software delivery. In many cases, this is because Agile and DevOps improvements have not been applied to the entire software stack and are often limited to application code delivery.
This webinar will explore the transformation that Colonial Life made in bringing DevOps to the entire software stack. Specifically, beyond automating and accelerating the validation and delivery of application code, this webinar will focus on the critical role that data and the database play in modern software delivery and the tools and processes that can bring the same automation to database code.
After this webinar, you will understand:
* What holds organizations back despite an Agile application development process
* The benefits of automating the validation and deployment of database changes
* A template for bringing DevOps to the entire software stack
Symfony2 for legacy app rejuvenation: the eZ Publish case studyGaetano Giunta
This document discusses the rejuvenation of the legacy eZPublish content management system through adoption of the Symfony full-stack framework. Key aspects of the migration included maintaining backwards compatibility, integrating the legacy codebase through a dual-core architecture, refactoring the front controller, integrating routing, adopting Symfony caching practices, building a REST API, using the Doctrine database abstraction layer, improving performance through caching, and replacing the legacy templating language with Twig. The migration aimed to balance maintaining the existing system functionality while modernizing the codebase and architecture.
Making Symfony Services async with RabbitMq (and more Symfony)Gaetano Giunta
This document discusses using RabbitMQ and Symfony to generate Microsoft Office documents asynchronously from XML content. Currently, using just LibreOffice is slow, unreliable, and does not scale well. The proposed solution is to use RabbitMQ with Symfony services to queue document generation jobs and process them in parallel with multiple worker processes. This improves performance, reliability and allows the process to scale. Some challenges that still need to be addressed are network security, throughput and determining if a existing solution could be used instead of a custom one.
The document discusses tools for monitoring and analyzing the performance of eZ Publish websites. It introduces Graphite, an open-source tool for monitoring and storing time-series data, and StatsD, which collects application metrics and sends them to Graphite. It then describes eZPerformanceLogger, an eZ Publish extension that measures key performance indicators and sends the data to Graphite for visualization and analysis. A live demo is presented of using eZPerformanceLogger and Graphite to break down metrics by content classes and identify poorly performing pages.
Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...Gaetano Giunta
This document summarizes a presentation about migrating an existing 10-year old content management system built with eZ Publish to Symfony2. Key points discussed include:
- The existing codebase has high maintenance costs and technical debt that makes it difficult to support new features.
- Symfony2 is chosen as the new framework due to its support for features needed like dependency injection, routing, and caching.
- Backwards compatibility is a major challenge to ensure existing customers are not upset by changes in the new system. The new system will maintain the same database schema and support including legacy templates.
The document discusses eZPublish transitioning to use Symfony as its framework. It describes the challenges of maintaining backwards compatibility while refactoring over 10 years of legacy code. The presentation outlines the objectives to ensure data compatibility and legacy functionality. It details how eZPublish implemented a dual-core architecture using Symfony, enabling both new and legacy code to function independently or together.
How to make sure a website can survive go-live and cope with ever increasing
traffic and amounts of data: knowing what to measure and log, during both
development and production phases; load testing ; identifying bottlenecks;
preventing disasters
The document summarizes eZ Content Staging, a tool that allows content editors to stage content changes on a separate server before pushing them live. It works by registering all content changes on the source server and using the RESTful ggwebservices extension to sync changes between servers. While functional, it is still a beta implementation with some limitations like requiring identical content definitions and sections on both servers.
The document summarizes several tools presented at an eZ Publish conference. It describes tools for syntax highlighting, debugging templates, inspecting variables, viewing system logs and statistics, performing QA checks, and potential future tools like an online code editor and database consistency checks. It concludes by providing links to the related projects.
Reliable Vancouver Web Hosting with Local Servers & 24/7 Supportsteve198109
Looking for powerful and affordable web hosting in Vancouver? 4GoodHosting offers premium Canadian web hosting solutions designed specifically for individuals, startups, and businesses across British Columbia. With local data centers in Vancouver and Toronto, we ensure blazing-fast website speeds, superior uptime, and enhanced data privacy—all critical for your business success in today’s competitive digital landscape.
Our Vancouver web hosting plans are packed with value—starting as low as $2.95/month—and include secure cPanel management, free domain transfer, one-click WordPress installs, and robust email support with anti-spam protection. Whether you're hosting a personal blog, business website, or eCommerce store, our scalable cloud hosting packages are built to grow with you.
Enjoy enterprise-grade features like daily backups, DDoS protection, free SSL certificates, and unlimited bandwidth on select plans. Plus, our expert Canadian support team is available 24/7 to help you every step of the way.
At 4GoodHosting, we understand the needs of local Vancouver businesses. That’s why we focus on speed, security, and service—all hosted on Canadian soil. Start your online journey today with a reliable hosting partner trusted by thousands across Canada.
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025APNIC
Joyce Chen, Senior Advisor, Strategic Engagement at APNIC, presented on 'APNIC Policy Development Process' at the Local APIGA Taiwan 2025 event held in Taipei from 19 to 20 April 2025.
APNIC Update, presented at NZNOG 2025 by Terry SweetserAPNIC
Terry Sweetser, Training Delivery Manager (South Asia & Oceania) at APNIC presented an APNIC update at NZNOG 2025 held in Napier, New Zealand from 9 to 11 April 2025.
Understanding the Tor Network and Exploring the Deep Webnabilajabin35
While the Tor network, Dark Web, and Deep Web can seem mysterious and daunting, they are simply parts of the internet that prioritize privacy and anonymity. Using tools like Ahmia and onionland search, users can explore these hidden spaces responsibly and securely. It’s essential to understand the technology behind these networks, as well as the risks involved, to navigate them safely. Visit https://torgol.com/
Best web hosting Vancouver 2025 for you businesssteve198109
Vancouver in 2025 is more than scenic views, yoga studios, and oat milk lattes—it’s a thriving hub for eco-conscious entrepreneurs looking to make a real difference. If you’ve ever dreamed of launching a purpose-driven business, now is the time. Whether it’s urban mushroom farming, upcycled furniture sales, or vegan skincare sold online, your green idea deserves a strong digital foundation.
The 2025 Canadian eCommerce landscape is being shaped by trends like sustainability, local innovation, and consumer trust. To stay ahead, eco-startups need reliable hosting that aligns with their values. That’s where 4GoodHosting.com comes in—one of the top-rated Vancouver web hosting providers of 2025. Offering secure, sustainable, and Canadian-based hosting solutions, they help green entrepreneurs build their brand with confidence and conscience.
As eCommerce in Canada embraces localism and environmental responsibility, choosing a hosting provider that shares your vision is essential. 4GoodHosting goes beyond just hosting websites—they champion Canadian businesses, sustainable practices, and meaningful growth.
So go ahead—start that eco-friendly venture. With Vancouver web hosting from 4GoodHosting, your green business and your values are in perfect sync.
DNS Resolvers and Nameservers (in New Zealand)APNIC
Geoff Huston, Chief Scientist at APNIC, presented on 'DNS Resolvers and Nameservers in New Zealand' at NZNOG 2025 held in Napier, New Zealand from 9 to 11 April 2025.
Smart Mobile App Pitch Deck丨AI Travel App Presentation Templateyojeari421237
🚀 Smart Mobile App Pitch Deck – "Trip-A" | AI Travel App Presentation Template
This professional, visually engaging pitch deck is designed specifically for developers, startups, and tech students looking to present a smart travel mobile app concept with impact.
Whether you're building an AI-powered travel planner or showcasing a class project, Trip-A gives you the edge to impress investors, professors, or clients. Every slide is cleanly structured, fully editable, and tailored to highlight key aspects of a mobile travel app powered by artificial intelligence and real-time data.
💼 What’s Inside:
- Cover slide with sleek app UI preview
- AI/ML module implementation breakdown
- Key travel market trends analysis
- Competitor comparison slide
- Evaluation challenges & solutions
- Real-time data training model (AI/ML)
- “Live Demo” call-to-action slide
🎨 Why You'll Love It:
- Professional, modern layout with mobile app mockups
- Ideal for pitches, hackathons, university presentations, or MVP launches
- Easily customizable in PowerPoint or Google Slides
- High-resolution visuals and smooth gradients
📦 Format:
- PPTX / Google Slides compatible
- 16:9 widescreen
- Fully editable text, charts, and visuals
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHostingsteve198109
Vancouver in 2025 is more than scenic views, yoga studios, and oat milk lattes—it’s a thriving hub for eco-conscious entrepreneurs looking to make a real difference. If you’ve ever dreamed of launching a purpose-driven business, now is the time. Whether it’s urban mushroom farming, upcycled furniture sales, or vegan skincare sold online, your green idea deserves a strong digital foundation.
The 2025 Canadian eCommerce landscape is being shaped by trends like sustainability, local innovation, and consumer trust. To stay ahead, eco-startups need reliable hosting that aligns with their values. That’s where 4GoodHosting.com comes in—one of the top-rated Vancouver web hosting providers of 2025. Offering secure, sustainable, and Canadian-based hosting solutions, they help green entrepreneurs build their brand with confidence and conscience.
As eCommerce in Canada embraces localism and environmental responsibility, choosing a hosting provider that shares your vision is essential. 4GoodHosting goes beyond just hosting websites—they champion Canadian businesses, sustainable practices, and meaningful growth.
So go ahead—start that eco-friendly venture. With Vancouver web hosting from 4GoodHosting, your green business and your values are in perfect sync.
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHostingsteve198109
Managing changes to eZPublish Database
1. Visuel à insérer ici
EZ CONFERENCE 2016
PARIS
Managing Changes to the Database Across the
Project Life Cycle
2. WHO AM I
The short version
• « the guy who has written a lot of answers
on the eZPublish forums »
• Working at Kaliop in London since 2014
• Principal consultant at eZ Systems for 7 years
• Love coffee and bicycles ?
• @gggeek
VOTRE SCHEMA
6. Development phase
• Only one source of data: the “dev” db
• Size of data set is generally small
• Changes to content structure are frequent
• Developers need to share the database (mostly the structure)
7. Testing phase
• Two sources of data: the “dev” and “test” db
• Size of data set can be small or not
• Changes to content structure are less frequent
• Developers need to share the dev database
• Controlled releases of changes from dev to test
• The bulk of test “content” is not overwritten
8. Maintenance phase
• 3 (or more) sources of data: the “dev”, “test” and “prod” db
• Size of data set can be large
• Changes to content structure are infrequent
• Few developers need to share the dev database
• Controlled releases of changes
• Content might flow the opposite way than
changes to structure: “copy prod to test”
9. What we learned
• Different needs during different phases of the project
• Changes to Content and to Content-structure have different flows
10. What the CMS brings in
• Content structure can be modified via the GUI!
• Many tables, with many relations
• No foreign keys
(import scripts can break referential integrity)
• Some data is tied to files stored on disk
(take care when doing backups!)
• Impossible to replicate / sync single tables
11. Is it all for the better?
• Easy to deploy changes to Content Structure after go live
Unless the changes takes hours to apply
Will never cover 100% of the cases
• Hard to automate
• Hard to verify
13. Keeping Databases in sync
Many possibilities:
A. All developers connect to the same db
B. Managing changes manually
C. The database is committed to git
D. Managing changes via scripts
E. Live DB replication (really ???)
F. More ?
15. Connecting to a shared database
• good for teams which are *not* geographically distributed
• works when developers do not blow up the database with junk
content: needs some developer discipline
• works only up to the 1st deployment to TEST env;
then 2 dbs have to be managed anyway
17. Managing database changes manually
• Changes to be applied are documented and applied via GUI
• Most Unsafe Option (TM)
• Some tools to help you to keep mental sanity:
ggsysinfo
ezdbintegrity
26. Committing the database to git
• good for when the development database does not contain a
huge number of contents and assets
• good for when the development database does not change too
frequently
• developers might be working on different versions
of the db: needs some developer discipline
• works only up to the 1st deployment to UAT env;
then 2 dbs have to be managed anyway
27. Committing the database to git
TIPS
• Database export/import scripts have to developed
• Good idea: remove temporary data before export
• Bad idea: hardcode database passwords in the scripts
• Good idea: read the db passwords from the ezpublish configuration
“Kaliop eZPublish 5 installer”
• Good idea: have the script manage binary contents & clear caches
ex: github.com/kaliop-uk/websummercamp2016/tree/master/site/bin
29. Managing database changes via script
• Safest option
• Good for when the development database does not change too
frequently
• Perfect after deployment to TEST/PROD
• kaliop/ezmigrationbundle
30. eZ Migration Bundle
https://github.com/kalipo-uk/ezmigrationbundle
• An eZPublish 5 bundle (no support for pure Legacy mode)
• Allows to define “migrations”
• Each migration is a set of changes to the DB – content or structure
• Migrations are stored as part of the application source code
• A console command is used to execute them
• A custom table in the db stored information on already executed ones
32. What types of migrations are supported
https://github.com/kalipo-uk/ezmigrationbundle
• creation, update and deletion of Contents
• creation, update and deletion of Locations
• creation, update and deletion of Users
• creation, update and deletion of UserGroups
• creation, update and deletion of Roles
• creation, update and deletion of ContentTypes
• creation and deletion of Languages
• creation of Tags (from the Netgen Tags Bundle)
38. Version 3 released today!
https://github.com/kalipo-uk/ezmigrationbundle
If the demo effect does not strike now…
39. Is your favourite feature missing?
https://github.com/kalipo-uk/ezmigrationbundle
The first brick is laid, many scenarios are possible
ex: allow a full ETL process / migrate across eZ installations
Feature requests and Bugs are managed on Github
Pull Requests are welcome
(thanks Lolautruche!)