Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Frappe Open Day - October & November 2018

On Open Day, we share our activities of the month with each other and the community. It's when we take a step back and see where we stand. Here's our Open Day for November 2018.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

Frappe Open Day - October & November 2018

  1. 1. Open Day November 2018
  2. 2. Refactoring Code deduplication - Found using AST https://gist.github.com/adityahase/62f...d37 https://github.com/frappe/frappe/pull/6347
  3. 3. Frappe Recorder Not enough love Inexistent UI Now can EXPLAIN EXTENDED and SHOW PROFILE (Uses INFORMATION_SCHEMA.PROFILING)
  4. 4. ERPNext Panda To justify the existence of Frappe Recorder Inspired from TPC-C/E/H benchmarks Frappe with PyPy 6.0 - Works on macOS
  5. 5. Markdown Editor I write. Faris requests changes. I don’t fix. Rushabh merges.
  6. 6. RedisWrapper Do not assume existence of superclass of redis.Redis
  7. 7. Central ansible 2 to 2.7 porting “use_slave_for_read_only” finished “What one programmer can do in one month, two programmers can do in two months.” - Fred Brooks
  8. 8. Central as a Service Cancelled
  9. 9. Patch Performance v11.0 patch update_total_qty_field Uses INSERT with ON DUPLICATE KEY UPDATE
  10. 10. Prepared Report Information Loss Issue Permission Issue Filter-Data Mismatch Issue Space Issue Filters = JSON serialised JSON serialised dict json.dumps != JSON.stringify
  11. 11. _comments column is just plain stupid Error reporting is a joke
  12. 12. Security Two RCE reports Fake CVE IDs frappe.io/security Ongoing - Automated SQLi Tests with SQLMap
  13. 13. Coffee Machine Manifesto Summary - Don’t f**k up https://gist.github.com/adityahase/638...0f2
  14. 14. The Hitchhiker's Guide to the Galaxy A Trilogy in Five Parts “In the beginning the Universe was created. This has made a lot of people very angry and been widely regarded as a bad move.”
  15. 15. Thank You Aditya Hase
  16. 16. Ame S no @co gC e Open Day October November 2018
  17. 17. Fra P t 10 P s a h
  18. 18. fi (si p): p e n y en d a n e
  19. 19. fi (P&L): s qu
  20. 20. fi : p ho 3 un e n fi
  21. 21. se m at o v11
  22. 22. Rel e f a p gi v11.0.3-be .1 to 11.0.3-be .19 | 20 f a p te 10.1.50 to 10.1.58 | 9 er x t i g 11.0.3-be .3to 11.0.3-be .16 | 14 er x s e v10.1.55 to 10.1.65 | 11 --- Tot 54
  23. 23. Sec y P o l di t h
  24. 24. fi : co n j o .lo f il s fi (up me g ): mu p ix fi (t a s): ur b3 ve n 1.23 fi (d o b ): up d ro x 9.1.0 fi (us r at ): f a p s a n a fi (ma _co n ): ad m in r e r do p fi (): ig em y i d se t et g l a f fi : p e n s a l o v U fi (se .p ): ma p 18 co t e fi : bu p G t o t 2.1.11 fi (t a s): ur b3 fi (li n ): in t i f fi (): fe h r wa us it re t fi (pa h): re pa t fi : ma ca f o w o s a c fi : se w a d Ot e M s es - 17
  25. 25. 4 P s e we
  26. 26. ---
  27. 27. fi : p o r an v i n pi
  28. 28. fe (re e): op to v f o t t
  29. 29. fi : c a g r e c c ge AP to n r e p c o n
  30. 30. fi : id f ro t o d o P ge ti
  31. 31. fi (re em s): lo d p ho q i n
  32. 32. fi (Ema Q e ): c a g e d p c
  33. 33. fi (em ): Ema t u c g o R d
  34. 34. Fra P t fo P
  35. 35. Rel e f a p gi v11.0.3-be .20 to 11.0.3-be .32 | 12 f a p te 10.1.59 to 10.1.66 | 8 er x t i g 11.0.3-be .17 to 11.0.3-be .25 | 9 er x s e v10.1.66 to 10.1.73 | 8 --- Tot 37
  36. 36. Ot e M s xe - 8 fi c : bu f e n 10 fi : wo r it r i g wi N b fi : de p e s ho b 12 fi (ge _ve n): f o h .p i s of fi (co n a n): in t i fi : re em s fi : se _pa h ag re n pa h fi : be h o-de y
  37. 37. 6 P s e we
  38. 38. Pro m h s i l t - Fil A p o l de p. Ema w at h t ot t, be e l o d if or t , le g o h er : Gu s no li E l re - s a n -fi SA
  39. 39. Ame S no @co gC e Fe d k a c t ti c i c al s co . Thank You
  40. 40. First Open Day !
  41. 41. Joined on 24 September As a fresher "
  42. 42. 1st day Quite boring. # Spent whole day watching tutorial. $ Struggled so much while installing bench. Installed bench three times.
  43. 43. My first project (Quality management system) It was comprehensive Spent one week in research And finally started
  44. 44. Quality Goal
  45. 45. Quality procedure
  46. 46. Tree of procedure
  47. 47. Quality Review
  48. 48. Quality Action
  49. 49. Quality Meeting
  50. 50. Costumer Feedback
  51. 51. Second project Newsletter Unsubscription portal
  52. 52. Project 3 Master-Calendar Interesting. Started research. Go through the workflow of calendar view. Started working. And then ?
  53. 53. Project on hold
  54. 54. Started Working on issues
  55. 55. Started again working on Master-calendar Go through the full calendar documentation. Started rewriting the calendar-view. Struggled little with field-map.
  56. 56. Thank you everyone for your support Personally want to thanks Shivam, Aditya and Suraj.
  57. 57. Frappé Open Day November 2018
  58. 58. ERPNext Conference 2018
  59. 59. Database Partitioning
  60. 60. ERPNext Academy a.k.a. LMS Because “Moodle sundar nahi hai”.
  61. 61. Looks like this
  62. 62. and this
  63. 63. Site and Blog Migration “Chinmay ne sab permissions tod diya”
  64. 64. - Nabin “Mujhe pata tha tum kuch na kuch galat karne wale ho.”
  65. 65. Auto test-instance deployment Kyuki locally clone karke test kaun karega?
  66. 66. The only screenshot I have
  67. 67. The only other screenshot I have
  68. 68. Conference Video Edits Cause sacrificing all your system resources to JavaScript isn’t enough
  69. 69. 12 videos, 27 hours of rendering Thanks, Obama
  70. 70. frappe.io CVE Page https://frappe.io/security
  71. 71. Email Drafts Galat hai, but chalta hai, toh sahi hai.
  72. 72. –Aditya Hase, circa 2018 “Yeh jitna bhi mera time liya hai, sab daily work summary mein daalega tu.”
  73. 73. That’s it! I guess.
  74. 74. Open Day Nov 2018 By Deepesh Garg
  75. 75. Analytics
  76. 76. Script Report for Sales Analytics
  77. 77. Script report for Purchase Analytics
  78. 78. Script report for Stock Analytics
  79. 79. Script Report for Production Analytics
  80. 80. Improved documentation for how to write script reports
  81. 81. Sales Invoice dashboard link fix • Use frappe.run_serially() to resolve this issue
  82. 82. Bug Fixes • Accounts Receivable Summary print showing zero value bug fix. • Paid amount not updating bug fix in fees. • Currency symbol not showing based on company default bug fix in sales person wise transaction summary. • Customer Filter fix in stock projected quantity report • Table header not printed on each page on printing report. • Newsletter not accessible via setup bug fix. • Salary Slip earnings and deductions table fix. • List view currency bug fix for purchase receipt and delivery note. • Bank Statement transaction entry bug fix
  83. 83. Accounts Receivable Report Based On Payment Terms
  84. 84. Deprecated Subscriber doctype
  85. 85. Fixed Assets Depreciation • Wrote test cases for different fixed asset depreciation methods like Written down value, Straight line method, Double decline • Removed serialised assets form asset depreciation cycle.
  86. 86. Customer/Supplier dashboard for multi company setup • Show company wise annual billing and total unpaid for a customer
  87. 87. Linked company address with pos profile
  88. 88. Deduction reports • Provident Fund deduction report • Income Tax deduction report • Professional Tax deduction report • Total payment report based on payment terms
  89. 89. THANK YOU
  90. 90. Open Day Oct / Nov 2018
  91. 91. Frappe Accounting
  92. 92. Support
  93. 93. Security - Minor XSS Issues - Jinja Template Hack
  94. 94. Quill - Table support - HTML Editing
  95. 95. DataTable - Hyperlist - Multiple Filters - Fixed Total Row
  96. 96. Email - File attachments - Email snowballing
  97. 97. Feature or a bug?
  98. 98. UI Tests - Cypress - Isolated - No timeouts
  99. 99. SDLC - Planning - Implementation - Testing - Documentation - Maintenance
  100. 100. SDLC - Planning - Implementation - Testing - Documentation - Maintenance
  101. 101. Thanks @netchampfaris
  102. 102. Open Day 04/12/2018
  103. 103. Work Done ● Quality Management System ● Bootstrap v3.3.1 > v3.3.7 ● Dark Mode ● Support Enhancement and Service Level Agreements
  104. 104. Quality Management System
  105. 105. Bootstrap v3.3.1 > v3.3.7 ● Switched to compiling Bootstrap from Leaner Style Sheets (.less) unlike using Cascading Style Sheets (.css). ● Not much of a difference but it’ll be handy for customization and defining sizes. ● Now bootstrap is not bundled in desk.css but as a standalone css file.
  106. 106. Dark Mode ● Dark UI for desk finally! ● Merged maximum of the css files into desk css and not applying multiple css files. ● Also use the variables.less file for customization not “style” tag. ● If any further customizations, don’t forget to edit the dark variables file as well.
  107. 107. Support Enhancement and Service Level Agreement ● Currently working on the Service Level Agreements enhancement for Support. ● Automated tagging of Issue level. ● Countdown timer for time to respond and resolve.
  108. 108. What lies next.. ● Not much work done, hoping to accelerate my work pace. ● Currently looking forward to working in SaaS team. ● Have a few ideas hoping to get it in PoC stage soon as UI IS FINALLY DONE.
  109. 109. Open Day November 2018 @Mangesh-Khairnar
  110. 110. ★ Reports ○ Defined Contribution Pension Scheme ○ Employee Insurance Policy Deductions ○ ECS format for RBI (Text Report) Enterprise TMC
  111. 111. Insurance ★ Insurance Type ★ Insurance Company ★ Employee Insurance
  112. 112. Order Ledger(Under Development) ★ Sales Ledger Entry ★ Purchase Ledger Entry
  113. 113. Thank You
  114. 114. Frappe Open Day November 2018
  115. 115. Mentoring What I should do more
  116. 116. Pull Requests No more merging with red flags Need habit formation
  117. 117. Thanks
  118. 118. Frappe Open Day Oct-Nov 2018 Rohit
  119. 119. User Permissions Fixed patch by Nabin and Suraj
  120. 120. Custom Script Strict Mode On
  121. 121. Prepared Report
  122. 122. Fixtures & Workflow
  123. 123. Filters
  124. 124. Vulnerability Issues for Child Table Fake Parent No permissions for child table
  125. 125. Added Group by Voucher (Consolidated)
  126. 126. Other Fixes • Date between filters not working for the report. • Dashboard links shows all the data. • Sales analytics report not able to export • Links in the prepared report. • Web form grid view for text editor showing toolbar • Replaced frappe.model.get_value and frappe.client.get_list for single doctype to avoid permissions issue.
  127. 127. Other Fixes • Fetch from works after submission of the document • Stock value difference calculation issue for negative inventory with Nabin. • Increased global search data limit. • Added currency filter in the consolidated financial statement report to fix multi-currency issue • Address not set using API • Added disabled field in the address form • Company dashboard sales count showing incorrect value. • Tax withholding, tds is applying on the tax amount
  128. 128. Contributed Code
  129. 129. Operation Team • Testing • Code Review • PR merging • Release • Deploy • Support
  130. 130. Thanks :) Coolest thing is client satisfaction not our satisfaction.
  131. 131. Open Day October-November 2019 Rushabh Mehta
  132. 132. Oct-Nov • OSI Days • Code Sprint + Conference • Partnerships • //Seibert/Media • New Laptop and Back Again • Discussions X 100
  133. 133. Rapid Growth
  134. 134. Vision for Frappe
  135. 135. What is our Superpower?
  136. 136. Don’t Repeat Yourself Monolith = Accumulated Learning
  137. 137. Nomadic Tribes Pastoral Settlement Agricultural Settlement City-State Nation State Empire Skill Systems
  138. 138. Why Empires Win? How did Humans win? How did the Europeans win? How did the Americans win?
  139. 139. Better Systems Scientific Method
  140. 140. Frappe Tools 10X More Productive
  141. 141. Operational Excellence High Quality Service and Communication
  142. 142. The Way We Work Open, Honest and Transparent
  143. 143. Organization Structure Distributed, Autonomous, Connected
  144. 144. Frappe Community Fun, Learn, Improve, Prosper, Grow
  145. 145. Mission and Purpose Gain Knowledge and Share It
  146. 146. Don’t Repeat Yourself Monolith = Accumulated Learning
  147. 147. Open Day - Sahil Khan
  148. 148. Topics ● 3 months at Frappe. ● Work before Conference. ● Work during Conference. ● Work after Conference. ● Current work and Future plans.
  149. 149. 3 Months At Frappe ● Successfully adapted this work culture. ● Learned a lot from the senior members. ● Biggest learning curve, yet ;) ● Great exposure (where else does a fresher get to interact with clients from multiple countries). ● Excelled at BombSquad.
  150. 150. Work Before Conference ● Was a member of FrappeJS team. ● Made Data-Import in Frappe Accounting. ● Did FrappeJS and Frappe Accounting Documentation. ● Sat with Faris for some minor bug fixes. ● Productivity was less as I was still learning JS and what we had to do in Accounting was still unclear.
  151. 151. Frappe Accounting : Data Import
  152. 152. Frappe Accounting : Handling Errors in Data-Import
  153. 153. Documentation: FrappeJS
  154. 154. Documentation : Frappe Accounting
  155. 155. Work During Conference: ● Was part of the Live Streaming team. ● Went to the venue one day before for testing. ● These 2 days were the most stressful days, each day came with a new set of problems. The master audio was not working the first day, net fibre cable broke the other day, camera setup was a pain, our mics were not working as the batteries were left inside after the last conference, have to run to the control area every time to adjust lighting, the list goes on and on……... ● All things considered, did a decent job if not excellent. ● Slept like a baby the day after :)
  156. 156. Work After Conference ● Went to the Dark side with Ameya i.e Switched to team DevOps. ● The first thing that Ameya did on my laptop was ‘sudo apt install vim’ (installing vim). ● Shadowed him for a week and learned all the basic essentials required (basically learning vim). ● For another 1-2 weeks, stuck in the vicious cycle of release and deploy.
  157. 157. Executing Bench Commands Remotely CLI command: bench remote COMMAND [OPTION] Parameters: command: The command to be executed on the remote instance Returns: Prints the ansible output Examples: - bench remote update --server 'frappe.erpnext.com' - bench remote setup requirements --server 'frappe.erpnext.com' - bench remote build --server 'frappe.erpnext.com' - bench remote migrate --site 'frappe.io' --server 'frappe.erpnext.com'
  158. 158. Support Issues Support Issues that required: ● migration of sites from v10 to v11. ● Setting up a test instance. ● One of the issue was the ssl certification was not getting completed as the customer has set up a load balancer on a single server which was blocking the packets. The first thought that came to my mind was ->
  159. 159. Current Work And Future Plans ● Currently working with chinmay on frappe-bot which will create a test instance on a server for a PR when you type ‘@frappe-bot create test instance py2/3’. ● Attending wednesday training sessions as there’s so much to learn about the product. ● Completing the Release and Deploy to-do list which goes on till the end of december. ● Keeping a log of the daily work done.
  160. 160. Thank You @sahil28297
  161. 161. Open Day Conference to Now, 2018
  162. 162. A Lot Happened
  163. 163. Academy & LMS
  164. 164. All in Vue
  165. 165. Profile Page
  166. 166. Improvements
  167. 167. In the works Topic Level Separation Inside Course Test Cases Review by Team Pull Request
  168. 168. Thanks Faris Suraj Chinmay
  169. 169. Designs
  170. 170. Affinity Designer
  171. 171. Side Project - Website
  172. 172. Reading
  173. 173. Bought Medium Membership
  174. 174. Cancelled It
  175. 175. Brought The Book
  176. 176. Gave The Book
  177. 177. Bye! !
  178. 178. Open Day Nov 2018
  179. 179. Permission bites again
  180. 180. Permission Issues ! User permission structure was not import friendly ! Required tracking of doctype name changes ! “If owner” permission override was not working as expected ! User permission was not contextual ! Users were not able to figure out the reason of restriction
  181. 181. Permission Issues ! User permission structure was not import friendly ! Required tracking of doctype name changes ! “If owner” permission override was not working as expected ! User was not able to figure out the reason of restriction Solution ! https://github.com/frappe/frappe/pull/6397
  182. 182. Social Improvements
  183. 183. Post loading skeleton
  184. 184. Post transition and delete option
  185. 185. Other Improvements ! Enabled keep-alive feature to avoid unwanted network calls ! Post/Comment permission fixes
  186. 186. Shortcut Popover
  187. 187. Shortcut Popover
  188. 188. ...
  189. 189. Random features
  190. 190. Searchable function
  191. 191. Searchable function
  192. 192. Open a site from terminal
  193. 193. Open a site from terminal OR
  194. 194. Got myself a kindle
  195. 195. surajshetty3416 Thanks!
  196. 196. Zarrar Open Day November’18 Frappe/ ERPNext
  197. 197. Fixes… Preserve Naming Series while deleting in bulk. Timeline date fix [minor - showed “invalid date”] Option to route form to success link added in webform. Duplicate row below a selected row in grid table. Delete Events if its reference doc is deleted.
  198. 198. Fixes… GST reports not showing data in their fields. Setup wizard silently failing because of taxes_setup file. Scan Barcode field added in transaction DocType. Display ‘Discount Amount’ in print without taxes table. TDS calculation fix - taxes calculated before net_total was set
  199. 199. Android & IOS
  200. 200. Salvaging code from Frappekt anko Top based login Oath based Generating ui from meta Kotlin coroutines Android specific approach
  201. 201. Hurdles No proper guide or tutorials yet to achieve significant feat. khttp, retrofit, etc known kotlin libraries for http request are android specific Abstracting the code to be shared without knowledge of swift.
  202. 202. Hurdles Maps API that is common for both else separate implementation for android & iOS? Mapbox yet to try. Ktor supposedly should solve the problem doesn’t have good guidelines to achieve multiplatform-ness
  203. 203. What I did most of the time… ! Reading… a lot of blogs and documentation regarding kotlin. Reverse Engineering demo apps that were built using Kotlin/Native Reading and learning Swift - pretty similar to kotlin from a glance view. Has lot of syntactic difference though.
  204. 204. Achievement Nothing major, a simple android app (not platform independent code) that can log in to frappe. A map view to see our current location. Note:- Leaflet could be used for map but via web view. Manipulating markers or highlighting path will need work
  205. 205. Awakening Writing code in Python and Javascript is 100x more enjoyable and gives back fruitful result soon than developing mobile app. Updating and matching kotlin version and gradle and android sdk for my pie - to download stuff and install it.
  206. 206. Thank you!

    Be the first to comment

    Login to see the comments

  • joolsr1

    Jan. 28, 2019

On Open Day, we share our activities of the month with each other and the community. It's when we take a step back and see where we stand. Here's our Open Day for November 2018.

Views

Total views

361

On Slideshare

0

From embeds

0

Number of embeds

0

Actions

Downloads

10

Shares

0

Comments

0

Likes

1

×