Starting Zope programming
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 53 | |
Author | ||
License | CC Attribution 3.0 Germany: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/54831 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
Plone Conference 20183 / 53
2
3
11
12
13
16
19
20
21
24
34
35
37
38
39
40
42
50
52
00:00
Process (computing)Electric generatorDigital electronicsCartesian coordinate systemCoefficient of determinationSoftware frameworkTraffic reportingComputer programmingInheritance (object-oriented programming)Web 2.0Server (computing)Turbo-CodeLecture/Conference
01:29
Server (computing)Interface (computing)Data managementObject-oriented programmingUniform resource locatorString (computer science)Software frameworkTraverse (surveying)Web browserArchitectureEuclidean vectorInstallation artConstraint (mathematics)Computer configurationProduct (business)Revision controlMetadataInstance (computer science)Data modelChemical equationInheritance (object-oriented programming)Social classVideo game consoleEndliche ModelltheorieLine (geometry)Server (computing)Projective planeComputer programmingChemical equationAttribute grammarProcess (computing)Product (business)Revision controlNamespaceSoftware developerSoftware repositoryWeb pageCartesian coordinate systemFunctional programmingDigital electronicsMereologyHorizonInstallation artComputer architecture2 (number)Computer configurationData managementObject-oriented programmingDirection (geometry)Block (periodic table)Connectivity (graph theory)WritingConfiguration spaceString (computer science)Software frameworkIntegrated development environmentCategory of beingBeta functionRing (mathematics)Texture mappingTemplate (C++)Descriptive statisticsResultantMetadataDefault (computer science)Constraint (mathematics)Key (cryptography)Exception handlingRoundness (object)Barrelled spaceInheritance (object-oriented programming)Instance (computer science)Uniform resource locatorDirectory serviceRoutingMedical imagingComputer fileGeometryInsertion lossInterface (computing)Drop (liquid)File formatSheaf (mathematics)Computer animation
11:13
Social classTemplate (C++)Web pageCategory of beingPositional notationContext awarenessProduct (business)View (database)ZugriffskontrolleInformation securityoutputConstructor (object-oriented programming)Function (mathematics)Server (computing)NamespaceSession Initiation ProtocolProcess (computing)Interior (topology)Dependent and independent variablesDefault (computer science)Variable (mathematics)Group actionFunctional programmingType theoryInformation securityView (database)InformationWeb 2.0System callChemical equationKeyboard shortcutTemplate (C++)Web pageContext awarenessCategory of beingSubject indexingComputer fileExpressionDrop (liquid)Game controllerProcess (computing)Data managementDataflowProduct (business)Uniform resource locatorServer (computing)Electronic visual displayVisualization (computer graphics)Condition numberSocial classObject-oriented programmingBit rateForm (programming)Constructor (object-oriented programming)Dependent and independent variablesInstance (computer science)Parameter (computer programming)Cartesian coordinate systemInternet forumMusical ensembleAttribute grammarShared memoryDefault (computer science)Positional notationContent (media)Direction (geometry)Demo (music)SubsetEndliche ModelltheorieComputer animation
20:56
Electronic meeting systemRootContent (media)Product (business)Computer animation
21:32
RootError messageWebsiteUniform resource locatorElectronic data interchangeForm (programming)Constructor (object-oriented programming)Demo (music)Lecture/ConferenceComputer animation
23:24
Attribute grammarLogicEuclidean vectorArchitectureServer (computing)Web pageInterface (computing)Product (business)Template (C++)View (database)Web browserConfiguration spaceData modelContext awarenessDependent and independent variablesNamespaceUniform resource locatorKeyboard shortcutGroup actionMathematicsInformation securityChemical equationCategory of beingWebsiteMacro (computer science)Software testingSoftware developerElectronic program guideComputer programmingKeyboard shortcutMeta elementNamespaceGUI widgetView (database)Direction (geometry)Information securityLatent heatGroup actionProcess (computing)Computer programmingMathematicsEmailType theorySuite (music)Web pageCore dumpInterface (computing)FamilyConnectivity (graph theory)SimulationComputer fileConfiguration spaceSubject indexingComputer architectureEndliche ModelltheorieAttribute grammarDemo (music)Presentation of a groupSocial classObject-oriented programmingCategory of beingWeb browserSystem callProduct (business)Computer animation
29:29
Process (computing)Menu (computing)Scaling (geometry)Cartesian coordinate systemProduct (business)Complex (psychology)Table (information)Lecture/Conference
Transcript: English(auto-generated)
00:03
Hello, everyone. I talk about starting job programming. Well, about me, I'm Atsui Odagi. Please call me Aodagui. I've used Python since 2000 because I am job generation.
00:28
I like web frameworks, turbo gears, pylons, repos, bfg, premit, Django is good.
00:43
While I study job programming, job, very similar to LISP, I want enlightenment experience from job.
01:03
What is job? So today, a problem can arise, job, you know. Job means job application server and job circuit and job foundation.
01:22
Maybe job cooperation is not. Sorry. Job application server is known as jobtsu. That has geodb, gserver, and job management interface, GMI.
01:49
Job is object publishing environment. This is a robust URL and get object and publish objects.
02:09
Many frameworks see URL as just a string. But on job, URL directly specifies object and publish to browser.
02:28
Job circuit, this introduce the part of jobtsu. And this has job component architecture.
02:41
But jobtsu is related to blueberry. That is not active now. And jobtsu circuit is in jobtsu. Project 5 introduce jobtsu circuit to jobtsu.
03:04
And repos project introduce whiskey to jobtsu. And now job 4 is in development. Job 4 has whiskey and the Python 3
03:22
and will very modern Python programming using modern Python programming environment we use to job programming.
03:46
And now starting job programming, first, install job. Two ways choose GC, buildout, and pip batchlm.
04:05
I don't know about buildout. I use pip batchlm project. Py job application project setup.
04:23
Job application is a Python package. Setup py is needed. And the consolence text and the requirements text is two management packages and versioning.
04:47
Requirements text usually animate package names. But I use the requirements text to default options.
05:07
First line is editable install. And the second line is consolence to job for beta 7.
05:26
And the third line is versioning consolence to my project defense packages.
05:44
I use only job because consolence text is one line. Job 4.0 beta 7. And setup py is now very simple,
06:05
only called setup function. And setup config package metadata, name, version, and readme, rst, wrong description, and license.
06:28
Option section, these packages, job products usually
06:41
has products namespace package. Because I use find namespace directive and namespace package, these products and job application
07:01
has page template, assets, and JavaScripts. Because include package data is true. And we use job. The install requires only job.
07:25
And the more development tools, block formatter, flake8, linter, and packages find
07:41
is find namespace directives options. We include packages, products namespace, and the products namespace.
08:04
We'll initialize project. I use virtualenv and pip. First, create virtualenv and install my project as editable.
08:42
Create and running job instance, job now job running on whiskey server. First, mk whiskey instance, this command create geodb and some configuration files.
09:09
And run whiskey command, run job instance, start programming.
09:27
First, I define model class. It's simple, bank account tutorial class.
09:41
This has balance attribute. Balance is, oh, I forgot to write property decorator.
10:03
Balance is decorator. First, balance is getter, and the second balance method is setter. Balance is always greater than zero.
10:23
If set to less than zero, raise value error.
10:40
This is very simple bank account class, but job show model on GMI, inherit simple item. Simple item is require ID attribute.
11:07
Simple item is OFS package. This is a convenient class to inherit class blow,
11:20
item, persistence, implicit, and role manager. I study in job. These classes are difficult to publish
11:52
object use job page template. This is in products page template,
12:01
and job four use camera template engine. Page template has tall, tails, metal.
12:23
I use to show property in page template. Original template uses tall content directive. But in job four, I use camera alone.
12:43
Camera alone supports Dara-Curry brace notation. It's a shortcut to show expression
13:01
to show bank account balance property, context slash balance, and other main view using page template file.
13:24
Index HTML is default view name, and other access control. Access control is three type access way.
13:57
Public is public method can call from web by anyone.
14:04
And protected method can call from web by a permitted user. And private method, this can call from web.
14:22
I declare permission to index HTML using cross security info to cross attributes and call declare public method
14:52
and enable this access control call in shared class function.
15:14
And other constructors to GMI, first
15:23
is form template to display form. So bank account is need only ID property, very easy form.
15:43
And post handler accept past ID and create bank account instance and adopt instance to context.
16:02
Return OK is a response body. Constructor and model class register and initialize
16:28
function is job application server calls initialize function under the product's namespace automatically.
16:41
Register class and bank account has two method, deposit and withdrawal.
17:07
Deposit is other amount to balance. And deposit method call from web and request
17:26
is request passed from web request. If request exists redirect to context URL,
17:55
another one method, withdrawal, is same process.
18:06
And this method is don't use for anyone.
18:22
I use protected decorator to permitted user bank account deposit and the bank account withdrawal. And this permission to owner, bank account owner
18:48
can deposit and withdraw. Add two post parameters, add all form.
19:13
And this form display in permitted user,
19:25
third condition is using third condition.
19:46
User has permission, withdrawal, deposit. And only permitted display form.
20:21
OK, this is the display demo.
21:20
Registered products, bank account, and this
22:04
is a constructor form. And I add ID B, sorry for demo.
23:32
And this is a job two style. Object has attributes, logic, and views.
23:45
Maybe you say this is not MVC. Job component architecture is used
24:03
to split views and models. To use job GCA, we use GCML configuration file.
24:21
And build, add two, build, add or build two interface, define interface, and implement interface,
24:41
and simply view template to interface. Add configured GCML and use page directive, page for I bank account, and the name index HTML,
25:12
method, deposit and withdrawal method,
25:22
browser view call this method. Job has five products in browser view in five browser. And this is call from URL and call entity method
25:53
and redirect. And this browser view, to call this browser view,
26:05
use page directive, simple view template file.
26:20
But now browser view, this directive has a class. And to specify view on URL, view adapter namespace, but view namespace has a shortcut at that prefix.
27:01
And to use view adapter, change action to view namespace at that deposit.
27:20
Finally, bank account has meta type and security and in here to simple item. This is job specific, but property and method
27:43
is simple Python object, simple Python class.
28:03
I will talk about more, but I very conclusion job
28:48
programming easy and job four is coming soon. And I use Python 3 job for programming in Python 3
29:02
is coming soon. That's all, slowly, slowly.
29:21
Thank you for your presentation. And my question is that you introduced how to write some MVC style in the job three. So what kind of style are used in the job four? So is that MVC style or job two style, which style are used?
29:50
I think job two style is very powerful and very easy, yeah.
30:02
But large scale application and complex application, I will use GCA.
30:24
In the job four, it's GCA style is supported too. Yes. Thank you. Thank you. I'd just like to ask, what kind of applications
30:41
you use Zope to develop with? What kind of applications? For example, you used a bank. So do you use it for any banking applications? It's simple tutorial and I don't use Zope in production.
31:13
I always use Django.
31:37
I happen to see DDML method in the pulldown menu.
31:50
Can I still use that in three or four? I don't know if job three includes DTML,
32:06
but job four includes DTML document, DTML method. Thank you very much.