This document provides an overview of sitepackages in TYPO3, including:
- What a sitepackage is and the benefits it provides over putting configurations directly in the fileadmin
- The basic structure of a sitepackage including folders for classes, configuration, documentation, and resources
- Examples of configuration files like PageTS, TCA, and TypoScript that can be included
- Setting up a minimal example package as a demonstration of the core components of a sitepackage
AWS provides customers a fully managed service for running Apache Flink applications called Amazon Kinesis Data Analytics. Running a hosted service for Apache Flink applications that accept arbitrary Java code from customers can pose unique challenges. One such challenge is issue attribution. How do you determine whether runtime errors are due to errors in a customer’s code or problems with the underlying infrastructure? In this talk, we will describe how we automatically categorize errors and either programmatically or manually intervene to restore application availability. This is critical for us to ensure availability of application that is expected of an AWS service and also maintain sustainable operations. We will review how we improved the Apache Flink engine to crisply disambiguate issues, design choices we made and how it helped us in ensuring highly available Apache Flink applications.
개인화 및 추천 기능의 맞춤형 AI 서비스 혁명: Amazon Personalize - 남궁영환 솔루션즈 아키텍트, AWS / 강성문 솔루...Amazon Web Services Korea
개인화 및 추천 기능의 맞춤형 AI 서비스 혁명: Amazon Personalize
남궁영환 솔루션즈 아키텍트, AWS
강성문 솔루션즈 아키텍트, AWS
점점 상품과 개인별 취향이 다양해지는 환경에서 '추천'과 '개인화'는 비즈니스의 핵심 요소가 되었습니다. 이 세션에서는 Amazon.com을 대표하는 '개인화 & 추천' 기술을 바탕으로 만들어진 서비스인 Personalize에 대해 자세히 알아봅니다. 직접 알고리즘을 개발하지 않고도 고품질의 개인화&추천 모델을 리테일, 미디어, 게임 비즈니스를 비롯한 다양한 분야에 적용할 수 있는 방법도 함께 다룹니다.
The Salient Process SPARK UI toolkit for IBM BPMDennis Parrott
The Salient Process SPARK UI toolkit provides the next generation UI capabilities for IBM Business Process Manager (BPM). This presentation from IBM InterConnect 2017, takes you through the evolution of BPM UI leading up to the IBM partnership with Salient Process with a view to embed the SPARK UI toolkit in a future IBM BPM release, outlines the benefits of using the SPARK UI toolkit, and provides an overview of the various capabilities and controls that are included within the SPARK UI toolkit.
AWS provides customers a fully managed service for running Apache Flink applications called Amazon Kinesis Data Analytics. Running a hosted service for Apache Flink applications that accept arbitrary Java code from customers can pose unique challenges. One such challenge is issue attribution. How do you determine whether runtime errors are due to errors in a customer’s code or problems with the underlying infrastructure? In this talk, we will describe how we automatically categorize errors and either programmatically or manually intervene to restore application availability. This is critical for us to ensure availability of application that is expected of an AWS service and also maintain sustainable operations. We will review how we improved the Apache Flink engine to crisply disambiguate issues, design choices we made and how it helped us in ensuring highly available Apache Flink applications.
개인화 및 추천 기능의 맞춤형 AI 서비스 혁명: Amazon Personalize - 남궁영환 솔루션즈 아키텍트, AWS / 강성문 솔루...Amazon Web Services Korea
개인화 및 추천 기능의 맞춤형 AI 서비스 혁명: Amazon Personalize
남궁영환 솔루션즈 아키텍트, AWS
강성문 솔루션즈 아키텍트, AWS
점점 상품과 개인별 취향이 다양해지는 환경에서 '추천'과 '개인화'는 비즈니스의 핵심 요소가 되었습니다. 이 세션에서는 Amazon.com을 대표하는 '개인화 & 추천' 기술을 바탕으로 만들어진 서비스인 Personalize에 대해 자세히 알아봅니다. 직접 알고리즘을 개발하지 않고도 고품질의 개인화&추천 모델을 리테일, 미디어, 게임 비즈니스를 비롯한 다양한 분야에 적용할 수 있는 방법도 함께 다룹니다.
The Salient Process SPARK UI toolkit for IBM BPMDennis Parrott
The Salient Process SPARK UI toolkit provides the next generation UI capabilities for IBM Business Process Manager (BPM). This presentation from IBM InterConnect 2017, takes you through the evolution of BPM UI leading up to the IBM partnership with Salient Process with a view to embed the SPARK UI toolkit in a future IBM BPM release, outlines the benefits of using the SPARK UI toolkit, and provides an overview of the various capabilities and controls that are included within the SPARK UI toolkit.
[IBM 김상훈] 오브젝트스토리지 | 늘어만 가는 데이터 저장문제로 골 아프신가요? (자료를 다운로드하시면 고화질로 보실 수 있습니다.)(Joe), Sanghun Kim
안녕하십니까 IBM Korea 김상훈입니다.
폭증하는 데이터 시대, 비정형 데이터의 폭발적 증가로 저장하는데 고민이신가요? 계속 불어만 가는 데이터, 특히나 비정형 데이터에 탁월한 효과를 가진 IBM의 최적의 솔루션을 소개하고자 합니다.
오브젝트 스토리지는 테이프를 이용한 백업, 디스크에 데이터를 저장과 백업을 했던 기존의 방식보다 여러가지 장점을 가지고 있습니다. IBM 오브젝트 스토리지는,
1. 무한확장: 현재 보유한 데이터에서 계속 늘어나는 증가데이터까지 가능하며,
2. 비용절감: 기존 스토리지 대비 최대 70% 절감 가능
3. 운영편의성: 일반 서버 위에 소프트웨어로 구성하는 형태
4. 데이터 보안: 기존 방식보다 월등한 보안성
의 특징을 가집니다. 이메일과 함께 추가 설명이 담긴 링크도 함께 드리오니 확인해보시길 바랍니다.
더 이상 저장, 백업, 아카이브에 골 썩히지 마십시오. 고맙습니다.
- IBM 김상훈 드림
JoeKim@kr.ibm.com
02-3781-7900 (스토리지 연결)
[NEW LAUNCH!] Scaling Tightly-coupled HPC workloads on HPC with Elastic Fabri...Amazon Web Services
Elastic Fabric Adapter (EFA) is a network interface for Amazon EC2 instances that enables customers to run HPC applications requiring high levels of inter-instance communications, like computational fluid dynamics, weather modeling, and reservoir simulation, at scale on AWS. It uses a custom-built operating system bypass technique to enhance the performance of inter-instance communications, which is critical to scaling HPC applications. With EFA, HPC applications using popular HPC technologies like Message Passing Interface (MPI) can scale to thousands of CPU cores. Get a deep dive on EFA and learn how to use EFA to enhance application performance for your HPC workloads.
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...Amazon Web Services Korea
Apache Airflow는 복잡한 데이터 처리 파이프라인의 전체적인 프로세스를 자동화하기 위한 워크플로우 관리 플랫폼이며 오픈 소스 커뮤니티에서 활발하게 기여하고 있는 top-level 프로젝트 입니다. AWS는 최근에 Amazon Managed Workflow for Apache Airflow (MWAA) 서비스를 정식 출시하였고, 본 강연에서는 Apache Airflow 및 MWAA를 소개하고 어떻게 AWS 서비스와 연동하여 데이터 처리 워크플로우를 구축할 수 있는지 데모를 통해 알려 드립니다.
Innovationsmotoren für IoT - DWX 2016 - Pluswerkdie.agilen GmbH
Das Internet der Dinge ist ein aufstrebender Markt mit einem Volumen von geschätzt 2,3 Billionen US-Dollar. Damit besitzt es ein enormes Potenzial im Hinblick auf die Neudefinition des Lebensstils für die nächste Generation. Technologieführer und Nischenanbieter im Bereich IoT suchen daher unermüdlich nach Anwendungsfällen, die das Leben besser machen werden. In Anbetracht dessen, dass sich das Internet der Dinge auf dem Höhepunkt im Gartner Hype Cycle befindet, ist es ein perfekter Nährboden für Innovationen. Damit aber Innovationsfindung nicht dem Zufall überlassen wird, sollte man eine strukturierte Herangehensweise dafür verwenden. Hier kommen Methoden wie Design Thinking, Empathy Design, Ideation, Rapid Prototyping, Lean Startup, o. a. ins Spiel, die wir uns genauer ansehen werden.
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerkdie.agilen GmbH
Der klassische Designprozess kommt im RWD-Zeitalter an die Grenzen. Der RWD-Workflow fordert eine iterative und inkrementelle Herangehensweise an Design und das daraus entstehende Frontend, welches als Prototyp früh zu Verfügung stehen soll. Atomic Design ist ein sinnvoller und erprobter Ansatz, um dies zu realisieren. Der Vortrag geht dazu auf alle Aspekte von Atomic Design ausführlich ein und zeigt anhand eines Praxisbeispiels die konkrete Umsetzung.
Präsentation von Roman Rackwitz (engaginglab) über die Grundsätze von Gamification und was dies mit OKR zu tun hat. Präsentiert wurde das beim 1. OKR Meetup Munich am 7.3.17
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...die.agilen GmbH
Präsentation von pluswerk.consulting zur Geschichte der Objectives & Key Results (OKR) in Europa auf dem OKR Meetup München am 07.03.2017 bei Deloitte Digital.
http://www.okr-beratung.de
http://pluswerk.consulting
Step by step guide to configure CKEditor in your TYPO3 project. http://www.nitsan.in/blog/post/simple-steps-to-configure-ckeditor-typo3 #TYPO3 #CKEditor #RTE
Base upon the very inspiring Session by Benjamin Kott and give an detailed overview over the structure of TYPO3 Sitepackage containing some modifications. The modifications experienced by work in a midsized agency their complete business process based on TYPO3 websites built with sitepackages.
TYPO3 v8 is one of the most important LTS version releases in the TYPO3 History. You may call it the #NextGenerationCMS (Content Management System). It gives TYPO3 the long-awaited major boost in functionality and features. In this blog, you will find detail about the new improvements & features. We hope, this will help #Developers, #Integrators, #Editors & #Administrators to understand #TYPO3 8 in depth, Checkout AtoZ details at http://www.nitsan.in/blog/post/atoz-about-typo3-v8-cms/
[IBM 김상훈] 오브젝트스토리지 | 늘어만 가는 데이터 저장문제로 골 아프신가요? (자료를 다운로드하시면 고화질로 보실 수 있습니다.)(Joe), Sanghun Kim
안녕하십니까 IBM Korea 김상훈입니다.
폭증하는 데이터 시대, 비정형 데이터의 폭발적 증가로 저장하는데 고민이신가요? 계속 불어만 가는 데이터, 특히나 비정형 데이터에 탁월한 효과를 가진 IBM의 최적의 솔루션을 소개하고자 합니다.
오브젝트 스토리지는 테이프를 이용한 백업, 디스크에 데이터를 저장과 백업을 했던 기존의 방식보다 여러가지 장점을 가지고 있습니다. IBM 오브젝트 스토리지는,
1. 무한확장: 현재 보유한 데이터에서 계속 늘어나는 증가데이터까지 가능하며,
2. 비용절감: 기존 스토리지 대비 최대 70% 절감 가능
3. 운영편의성: 일반 서버 위에 소프트웨어로 구성하는 형태
4. 데이터 보안: 기존 방식보다 월등한 보안성
의 특징을 가집니다. 이메일과 함께 추가 설명이 담긴 링크도 함께 드리오니 확인해보시길 바랍니다.
더 이상 저장, 백업, 아카이브에 골 썩히지 마십시오. 고맙습니다.
- IBM 김상훈 드림
JoeKim@kr.ibm.com
02-3781-7900 (스토리지 연결)
[NEW LAUNCH!] Scaling Tightly-coupled HPC workloads on HPC with Elastic Fabri...Amazon Web Services
Elastic Fabric Adapter (EFA) is a network interface for Amazon EC2 instances that enables customers to run HPC applications requiring high levels of inter-instance communications, like computational fluid dynamics, weather modeling, and reservoir simulation, at scale on AWS. It uses a custom-built operating system bypass technique to enhance the performance of inter-instance communications, which is critical to scaling HPC applications. With EFA, HPC applications using popular HPC technologies like Message Passing Interface (MPI) can scale to thousands of CPU cores. Get a deep dive on EFA and learn how to use EFA to enhance application performance for your HPC workloads.
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...Amazon Web Services Korea
Apache Airflow는 복잡한 데이터 처리 파이프라인의 전체적인 프로세스를 자동화하기 위한 워크플로우 관리 플랫폼이며 오픈 소스 커뮤니티에서 활발하게 기여하고 있는 top-level 프로젝트 입니다. AWS는 최근에 Amazon Managed Workflow for Apache Airflow (MWAA) 서비스를 정식 출시하였고, 본 강연에서는 Apache Airflow 및 MWAA를 소개하고 어떻게 AWS 서비스와 연동하여 데이터 처리 워크플로우를 구축할 수 있는지 데모를 통해 알려 드립니다.
Innovationsmotoren für IoT - DWX 2016 - Pluswerkdie.agilen GmbH
Das Internet der Dinge ist ein aufstrebender Markt mit einem Volumen von geschätzt 2,3 Billionen US-Dollar. Damit besitzt es ein enormes Potenzial im Hinblick auf die Neudefinition des Lebensstils für die nächste Generation. Technologieführer und Nischenanbieter im Bereich IoT suchen daher unermüdlich nach Anwendungsfällen, die das Leben besser machen werden. In Anbetracht dessen, dass sich das Internet der Dinge auf dem Höhepunkt im Gartner Hype Cycle befindet, ist es ein perfekter Nährboden für Innovationen. Damit aber Innovationsfindung nicht dem Zufall überlassen wird, sollte man eine strukturierte Herangehensweise dafür verwenden. Hier kommen Methoden wie Design Thinking, Empathy Design, Ideation, Rapid Prototyping, Lean Startup, o. a. ins Spiel, die wir uns genauer ansehen werden.
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerkdie.agilen GmbH
Der klassische Designprozess kommt im RWD-Zeitalter an die Grenzen. Der RWD-Workflow fordert eine iterative und inkrementelle Herangehensweise an Design und das daraus entstehende Frontend, welches als Prototyp früh zu Verfügung stehen soll. Atomic Design ist ein sinnvoller und erprobter Ansatz, um dies zu realisieren. Der Vortrag geht dazu auf alle Aspekte von Atomic Design ausführlich ein und zeigt anhand eines Praxisbeispiels die konkrete Umsetzung.
Präsentation von Roman Rackwitz (engaginglab) über die Grundsätze von Gamification und was dies mit OKR zu tun hat. Präsentiert wurde das beim 1. OKR Meetup Munich am 7.3.17
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...die.agilen GmbH
Präsentation von pluswerk.consulting zur Geschichte der Objectives & Key Results (OKR) in Europa auf dem OKR Meetup München am 07.03.2017 bei Deloitte Digital.
http://www.okr-beratung.de
http://pluswerk.consulting
Step by step guide to configure CKEditor in your TYPO3 project. http://www.nitsan.in/blog/post/simple-steps-to-configure-ckeditor-typo3 #TYPO3 #CKEditor #RTE
Base upon the very inspiring Session by Benjamin Kott and give an detailed overview over the structure of TYPO3 Sitepackage containing some modifications. The modifications experienced by work in a midsized agency their complete business process based on TYPO3 websites built with sitepackages.
TYPO3 v8 is one of the most important LTS version releases in the TYPO3 History. You may call it the #NextGenerationCMS (Content Management System). It gives TYPO3 the long-awaited major boost in functionality and features. In this blog, you will find detail about the new improvements & features. We hope, this will help #Developers, #Integrators, #Editors & #Administrators to understand #TYPO3 8 in depth, Checkout AtoZ details at http://www.nitsan.in/blog/post/atoz-about-typo3-v8-cms/
Jump into Squeak - Integrate Squeak projects with Docker & Githubhubx
Squeak projects are hard to explore for new Smalltalk programmers. We propose a system that lowers entry barriers and provides
an experience comparable to the of web demos. Our system integrates
into Github and provides Git support for Squeak
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityTeamstudio
IBM Champion Johnny Oldenburger from Kranendonk Smart Robotics shows how to develop very user friendly and fully responsive web applications (with XPages of course!) by making use of Bootstrap and jQuery Plugins.
He shows how to use the Select2, DateTimePickers, Multiselect, Bootstrap-select, Modals, Popovers, and Notifications plugins to deliver the ultimate in usability. Learn how to solve the AMD issue when incorporating JavaScript libraries in XPages. Go beyond the basics and create applications that nobody ever thought possible using XPages.
Buying a Ferrari for your teenager? You may want to think twiceAl Zindiq
Data science teams have different levels of maturity and they need to be equipped with the right tools and infrastructure to make them more agile and ready. Here, I will be discussing a combination of open source tools and cloud managed services that can go hand-by-hand and grow with your data science teams needs as they mature.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Welocme to ViralQR, your best QR code generator.ViralQR
Welcome to ViralQR, your best QR code generator available on the market!
At ViralQR, we design static and dynamic QR codes. Our mission is to make business operations easier and customer engagement more powerful through the use of QR technology. Be it a small-scale business or a huge enterprise, our easy-to-use platform provides multiple choices that can be tailored according to your company's branding and marketing strategies.
Our Vision
We are here to make the process of creating QR codes easy and smooth, thus enhancing customer interaction and making business more fluid. We very strongly believe in the ability of QR codes to change the world for businesses in their interaction with customers and are set on making that technology accessible and usable far and wide.
Our Achievements
Ever since its inception, we have successfully served many clients by offering QR codes in their marketing, service delivery, and collection of feedback across various industries. Our platform has been recognized for its ease of use and amazing features, which helped a business to make QR codes.
Our Services
At ViralQR, here is a comprehensive suite of services that caters to your very needs:
Static QR Codes: Create free static QR codes. These QR codes are able to store significant information such as URLs, vCards, plain text, emails and SMS, Wi-Fi credentials, and Bitcoin addresses.
Dynamic QR codes: These also have all the advanced features but are subscription-based. They can directly link to PDF files, images, micro-landing pages, social accounts, review forms, business pages, and applications. In addition, they can be branded with CTAs, frames, patterns, colors, and logos to enhance your branding.
Pricing and Packages
Additionally, there is a 14-day free offer to ViralQR, which is an exceptional opportunity for new users to take a feel of this platform. One can easily subscribe from there and experience the full dynamic of using QR codes. The subscription plans are not only meant for business; they are priced very flexibly so that literally every business could afford to benefit from our service.
Why choose us?
ViralQR will provide services for marketing, advertising, catering, retail, and the like. The QR codes can be posted on fliers, packaging, merchandise, and banners, as well as to substitute for cash and cards in a restaurant or coffee shop. With QR codes integrated into your business, improve customer engagement and streamline operations.
Comprehensive Analytics
Subscribers of ViralQR receive detailed analytics and tracking tools in light of having a view of the core values of QR code performance. Our analytics dashboard shows aggregate views and unique views, as well as detailed information about each impression, including time, device, browser, and estimated location by city and country.
So, thank you for choosing ViralQR; we have an offer of nothing but the best in terms of QR code services to meet business diversity!
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
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.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
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
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
2. Benjamin Kott
Front-end Developer at TeamWFP
Member of the TYPO3 UX Team
Düsseldorf, Germany
facebook.com/benjamin.kott
twitter.com/benjaminkott
github.com/benjaminkott
bk2k.info
THE ANATOMY OF SITEPACKAGES2
3. Benjamin Kott
Front-end Developer at TeamWFP
Member of the TYPO3 UX Team
Düsseldorf, Germany
facebook.com/benjamin.kott
twitter.com/benjaminkott
github.com/benjaminkott
bk2k.info
THE ANATOMY OF SITEPACKAGES3
That is Dave.
Dave is Frank Näglers
personal Minion. Every time
Frank commits bullshit to the
TYPO3 Core, it was Dave.
Dave really, really wanted
to be part of this presentation.
4. 4 THE ANATOMY OF SITEPACKAGES
Build #6480 (fcec4ef) of
TYPO3/TYPO3.CMS@master
by Frank Nägler failed in 10 min
32 sec
It´s not my fault!
Eh. Banana?
5. 5 THE ANATOMY OF SITEPACKAGES
Agenda
The what and why? Lots of technical stuff! Final Conclusion.
7. What is a Sitepackage?
It´s all about definition.
7 THE ANATOMY OF SITEPACKAGES
8. Different names for
the same @!?#&%§ shit.
Base Extension
Template Extension
Sitepackage
Site Foundation
Distribution*
…
8 THE ANATOMY OF SITEPACKAGES
* A Distribution normally contains a pre-set of pages and assets,
in this case we will not make use of it. It´s listed for sake of completeness.
9. „A sitepackage is an extension
for TYPO3 that contains
all relevant configurations
for a website.“
9 THE ANATOMY OF SITEPACKAGES
10. Why should you care
about a Sitepackage?
It @!?#&%§ works for me™ to put
everything in the fileadmin.
10 THE ANATOMY OF SITEPACKAGES
11. Your configuration files
are indexed by FAL.
All files you upload into the fileadmin are automatically
indexed from the file abstraction layer if not disabled.
Lots of totally useless records that should not
be there at any point.
11 THE ANATOMY OF SITEPACKAGES
12. FAL records are not updated
if files are uploaded via FTP.
The only way FAL recognizes file changes or deletions
is if they are done using the backend or the API directly.
Files that are changed outside can cause fatal error,
if this file is referenced and deleted via FTP.
12 THE ANATOMY OF SITEPACKAGES
14. Fileadmin is userspace.
Files within the fileadmin directory are edited and maintained by an
editor who usually does not have the knowledge to so it properly.
It´s better to protect the editor from
accidentally breaking a part of the internet.
14 THE ANATOMY OF SITEPACKAGES
15. Configurations should be
in your version control.
Having the configuration files in the fileadmin is a
strong indicator for missing version control.
We should talk about that…
15 THE ANATOMY OF SITEPACKAGES
16. 16 THE ANATOMY OF SITEPACKAGES
Source: http://www.commitstrip.com/en/2013/11/05/git-svn-ou/
17. You are not able to handle
Extension dependencies.
Without dependency management you have no idea which extensions
and which version is needed to maintain a running website.
17 THE ANATOMY OF SITEPACKAGES
18. Dependencies
The Extension Manager is your friend.
18 THE ANATOMY OF SITEPACKAGES
For example sitepackage extension could
require Bootstrap Package, News & Seo
Basics in the newest available version on
installation.
19. Your TypoScript
Setup and Constants are saved
in the template record.
The setup and constant field of a template record is
the last possibility to override the TypoScript configuration
of your TYPO3 page within that record.
19 THE ANATOMY OF SITEPACKAGES
20. 20 THE ANATOMY OF SITEPACKAGES
Template Record
Static template sorting.
Instead of putting your setup and constants
directly in the template record or include it
there its more easy to make use of Static
Templates.
General Options Includes Access
Template
Include static (from extensions)
CSS Styled Content
(css_styled_content)
Selected Items Available Items
Bootstrap Package
(bootstrap_package)
Example Package
(example_package)
General Options Includes Access
Template
Constants
<INCLUDE_TYPOSCRIPT: source="…">
Setup
<INCLUDE_TYPOSCRIPT: source="…">
Static Templates
and loading order.
21. Your configuration is
@!?#&%§ public accessible.
Most users that put their configuration files in the
fileadmin folder, forget to protect it from external access.
Want so see how not to do it?
Bing „fileadmin setup.txt“ or „fileadmin setup.ts“
21 THE ANATOMY OF SITEPACKAGES
27. Facts
Config files editable through file module
Config files not accessible by editors
Config files are protected *
Autoload PageTS
Autoload TypoScript
Static TypoScript Template
Dependency Management
Distrubution through TER possible
Deployment through Extension Manager
Clean Version Control possible
Sitepackage
27 THE ANATOMY OF SITEPACKAGES
Fileadmin
* Possible but not common practice
34. Initialisation
Files
Images
Example_1.png
Example_2.jpg
Example_3.txt
data.t3d
Files added here, they will be
copied to fileadmin/extension/
during installation
Export of your database it will
be imported at page root level
during installation
34 THE ANATOMY OF SITEPACKAGES
35. Resources
Private
Languages
Layouts
Partials
Templates
.htaccess
Public
Css
Images
JavaScript
Private protected files
XLIFF/XML files for localized labels
Main layouts for the views
Partial templates for repetitive use
Templates for the views
Protect your stuff!
Public accessible files
Any CSS file used by the extension
Any images used by the extension
Any JS file used by the extension
35 THE ANATOMY OF SITEPACKAGES
37. Example Package
Just enough to get the party starting.
Extension
Dependency to CSS Styled Content
Basic TypoScript
Basic PageTS
Fluid Template
CSS file
JavaScript file
37 THE ANATOMY OF SITEPACKAGES
38. typo3conf/ext/example_package
Head to the directory and create a folder with a name of your choice like
„example_package“. This will be the container of your sitepackage and
also your extension key.
38 THE ANATOMY OF SITEPACKAGES
Extension Directory Your Extension
39. example_package
Configuration
Resources
ext_emconf.php
ext_icon.png
ext_localconf.php
ext_tables.php
TypoScript, PageTS, TCA
Templates, Images, CSS, JS, …
Extension Configuration
Extension Icon
Executed in FE and BE
Executed in BE
39 THE ANATOMY OF SITEPACKAGES
typo3conf / ext
40. ext_emconf.php
$EM_CONF[$_EXTKEY] = array(
'title' => 'Example Package',
'description' => '',
'category' => 'templates',
'version' => '1.0.0',
'state' => 'stable',
'clearcacheonload' => 1,
'author' => 'Benjamin Kott',
'author_email' => 'info@bk2k.info',
'author_company' => '',
'constraints' => array(
'depends' => array(
'typo3' => '6.2.12-7.99.99',
'css_styled_content' => '6.2.0-7.99.99',
),
'conflicts' => array(
'fluidpages' => '*',
'themes' => '*',
),
),
);
Title
A title for your extension.
Category
Type of category the extension should be
listed in. Use template for general usage
and distribution for a listing in the
distributions section.
Dependencies
Additional Extensions, for example like a
news extension or a specific core version.
Conflicts
Known issues with other extensions can
be placed here to avoid that these
extension are running parallel in your
system.
40 THE ANATOMY OF SITEPACKAGES
typo3conf / ext / example_package
41. ext_icon.png
41 THE ANATOMY OF SITEPACKAGES
Make it pretty. Please.
64x64 PNG are welcome.
typo3conf / ext / example_package
42. ext_localconf.php
if (!defined('TYPO3_MODE')) {
die('Access denied.');
}
TYPO3CMSCoreUtilityExtensionManagementUtility::addPageTSConfig(
'<INCLUDE_TYPOSCRIPT: source="FILE:EXT:'
. $_EXTKEY . '/Configuration/PageTS/TCEFORM.txt">'
);
42 THE ANATOMY OF SITEPACKAGES
Add PageTS by default*
* You should really know what you are doing before adding global PageTS.
After adding its set for all Websites in your TYPO3 instance.
typo3conf / ext / example_package
43. ext_tables.php
if (!defined('TYPO3_MODE')) {
die('Access denied.');
}
TYPO3CMSCoreUtilityExtensionManagementUtility::addStaticFile(
$_EXTKEY, // Extension Key
'Configuration/TypoScript', // Path to setup.txt and constants.txt
'Example Package' // Title in the selector box
);
43 THE ANATOMY OF SITEPACKAGES
Add static template to
the template record
General Options Includes Access
Template
Include static (from extensions)
Example Package (example_package)
CSS Styled Content (css_styled_content)
Bootstrap Package (bootstrap_package)
Selected Items Available Items
typo3conf / ext / example_package
45. TCEFORM.txt
## TCEFORM
TCEFORM {
pages {
layout.disabled = 1
}
tt_content {
// NOBODY wants or should edit this
// really, let them disappear
table_bgColor.disabled = 1
table_border.disabled = 1
table_cellspacing.disabled = 1
table_cellpadding.disabled = 1
pi_flexform.table.sDEF {
acctables_nostyles.disabled = 1
acctables_tableclass.disabled = 1
}
}
}
45 THE ANATOMY OF SITEPACKAGES
typo3conf / ext / example_package / Configuration / PageTS
You should really know what you are
doing before adding global PageTS
like in this example. After adding its set
for all Websites in your TYPO3
instance.
See ext_localconf.php as example how
to add PageTS globally.
46. constants.txt
## PAGE
page {
template {
# cat=example package: advanced/100/100; type=string; label=Layout Root Path: Path to layouts
layoutRootPath = EXT:example_package/Resources/Private/Layouts/
# cat=example package: advanced/100/110; type=string; label=Partial Root Path: Path to partials
partialRootPath = EXT:example_package/Resources/Private/Partials/
# cat=example package: advanced/100/120; type=string; label=Template Root Path: Path to templates
templateRootPath = EXT:example_package/Resources/Private/Templates/
}
}
46 THE ANATOMY OF SITEPACKAGES
typo3conf / ext / example_package / Configuration / TypoScript
Use TypoScript Constants and
configuration for the Constant Editor to
have your Sitepackage ready for
multisite usage or to easily make
adjustments to your website.
47. setup.txt
## DEPENDENCIES
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:css_styled_content/static/setup.txt">
47 THE ANATOMY OF SITEPACKAGES
typo3conf / ext / example_package / Configuration / TypoScript
Load the needed TypoScript from
dependant extensions to avoid sorting
of static tempates in the template
record.
To avoid unnecessary work we are
depending css_styled_content for the
content rendering in this example.
48. setup.txt
## CONTENT SELECTION
lib.dynamicContent = COA
lib.dynamicContent {
5 = LOAD_REGISTER
5.colPos.cObject = TEXT
5.colPos.cObject {
field = colPos
ifEmpty.cObject = TEXT
ifEmpty.cObject {
value.current = 1
ifEmpty = 0
}
}
20 < styles.content.get
20.select.where = colPos={register:colPos}
20.select.where.insertData = 1
90 = RESTORE_REGISTER
}
48 THE ANATOMY OF SITEPACKAGES
typo3conf / ext / example_package / Configuration / TypoScript
Content selection for use in Fluid
cObject ViewHelper with data pass-
through.
<f:cObject
typoscriptObjectPath="lib.dynamicCont
ent“ data="{colPos: '0'}" />
49. setup.txt
## PAGE – Part 1
page = PAGE
page {
typeNum = 0
10 = FLUIDTEMPLATE
10 {
file.stdWrap.cObject = CASE
file.stdWrap.cObject {
key.data = levelfield:-1, backend_layout_next_level, slide
key.override.field = backend_layout
default = TEXT
default.value = {$page.template.templateRootPath}Default.html
default.insertData = 1
}
partialRootPath = {$page.template.partialRootPath}
layoutRootPath = {$page.template.layoutRootPath}
}
}
49 THE ANATOMY OF SITEPACKAGES
typo3conf / ext / example_package / Configuration / TypoScript
Page-Templates based
on Fluid for super
easy templating.
BackendLayouts used
to select the Template.
50. setup.txt
## PAGE – Part 2
page {
includeCSS {
main = EXT:example_package/Resources/Public/Css/main.css
}
includeJSFooterlibs {
main = EXT:example_package/Resources/Public/JavaScript/main.js
}
}
50 THE ANATOMY OF SITEPACKAGES
typo3conf / ext / example_package / Configuration / TypoScript
Include CSS and
JavaScript files with
the EXT: notation from
the extension
directory.