Frappe Technologies
Screenshot 2023-10-25 at 10.48.41 PM.png
Learning Updates from August 2024
Settings, app switcher and much more.
author

By

Jannat Patel

·

26 August 2024

·

2

min read

App switcher

If your site had multiple apps installed, it was difficult to move between them. There was only an option to move to the desk.

This month we introduced the app switcher which allows you to move between apps in your site without issues. The app switcher is only visible to users who have the permission to view them.

Settings

Previously, to change any settings admins had to go back to the desk. This month, a Settings Modal has been introduced in the Learning Portal.

From the top left corner, Moderators can access the modal. Here they can configure the payment details, customize the sidebar and signup details, and also add email templates of their choice.

Add members

Another reason why Moderators had to go back to the desk was to add new users. This is also not the case anymore.

The same Settings Modal will now have a section to add new users. To add a new user you just had to add their Email ID and First Name. The user will then receive an email to set their password, just like the default flow.

You can see the list of all existing users with their current roles. You can click on their name to visit their profile page. You can also search for users here.

Translations

The app now supports translations from the Crowdin portal. Every week translations from the portal are fetched and updated in the app.

If you are interested in contributing to the translations you can do so from this portal.

Auto Save lessons

While making changes you may sometimes forget to save and lose all your progress. To fix this, when editing any lesson, all the changes will be auto saved. So no more worrying about losing your content.



Published by

Jannat Patel

on

26 August 2024
767

Share

Add your comment

Success!

Error

Comments

C
CxPqBbvt

· 

March 14, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

(select 198766*667891 from DUAL)

C
CxPqBbvt

· 

March 13, 2026

(select 198766*667891)

C
CxPqBbvt

· 

March 13, 2026

@@wQyP9

C
CxPqBbvt

· 

March 13, 2026

1����%2527%2522\'\"

C
CxPqBbvt

· 

March 13, 2026

1'"

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1'||DBMSPIPE.RECEIVEMESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'

C
CxPqBbvt

· 

March 13, 2026

1*DBMSPIPE.RECEIVEMESSAGE(CHR(99)||CHR(99)||CHR(99),15)

C
CxPqBbvt

· 

March 13, 2026

1iN7Zu9tF')) OR 201=(SELECT 201 FROM PG_SLEEP(15))--

C
CxPqBbvt

· 

March 13, 2026

1biT7llDg') OR 645=(SELECT 645 FROM PG_SLEEP(15))--

C
CxPqBbvt

· 

March 13, 2026

1vGXepfND' OR 371=(SELECT 371 FROM PG_SLEEP(15))--

C
CxPqBbvt

· 

March 13, 2026

1-1)) OR 570=(SELECT 570 FROM PG_SLEEP(15))--

C
CxPqBbvt

· 

March 13, 2026

1-1) OR 844=(SELECT 844 FROM PG_SLEEP(15))--

C
CxPqBbvt

· 

March 13, 2026

1-1 OR 606=(SELECT 606 FROM PG_SLEEP(15))--

C
CxPqBbvt

· 

March 13, 2026

1e6oxIngU'; waitfor delay '0:0:15' --

C
CxPqBbvt

· 

March 13, 2026

1-1 waitfor delay '0:0:15' --

C
CxPqBbvt

· 

March 13, 2026

1-1); waitfor delay '0:0:15' --

C
CxPqBbvt

· 

March 13, 2026

1-1; waitfor delay '0:0:15' --

C
CxPqBbvt

· 

March 13, 2026

(select(0)from(select(sleep(15)))v)/'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"/

C
CxPqBbvt

· 

March 13, 2026

10"XOR(1*if(now()=sysdate(),sleep(15),0))XOR"Z

C
CxPqBbvt

· 

March 13, 2026

10'XOR(1*if(now()=sysdate(),sleep(15),0))XOR'Z

C
CxPqBbvt

· 

March 13, 2026

1*if(now()=sysdate(),sleep(15),0)

C
CxPqBbvt

· 

March 13, 2026

-1" OR 5*5=26 or "YnyIZIDF"="

C
CxPqBbvt

· 

March 13, 2026

-1" OR 5*5=25 or "YnyIZIDF"="

C
CxPqBbvt

· 

March 13, 2026

-1' OR 5*5=26 or 'm5EIZtJM'='

C
CxPqBbvt

· 

March 13, 2026

-1' OR 5*5=25 or 'm5EIZtJM'='

C
CxPqBbvt

· 

March 13, 2026

-1" OR 5*5=26 --

C
CxPqBbvt

· 

March 13, 2026

-1" OR 5*5=25 --

C
CxPqBbvt

· 

March 13, 2026

-1' OR 5*5=26 --

C
CxPqBbvt

· 

March 13, 2026

-1' OR 5*5=25 --

C
CxPqBbvt

· 

March 13, 2026

-1 OR 5*5=26

C
CxPqBbvt

· 

March 13, 2026

-1 OR 5*5=25

C
CxPqBbvt

· 

March 13, 2026

-1 OR 5*5=26 --

C
CxPqBbvt

· 

March 13, 2026

-1 OR 5*5=25 --

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

(
(select 198766*667891 from DUAL)

· 

March 13, 2026

1

(
(select 198766*667891)

· 

March 13, 2026

1

@
@@PaA0d

· 

March 13, 2026

1

C
CxPqBbvt����%2527%2522\'\"

· 

March 13, 2026

1

C
CxPqBbvt'"

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'

· 

March 13, 2026

1

C
CxPqBbvtKzpocGJ8')) OR 942=(SELECT 942 FROM PG_SLEEP(15))--

· 

March 13, 2026

1

C
CxPqBbvtP1zu9KUj') OR 444=(SELECT 444 FROM PG_SLEEP(15))--

· 

March 13, 2026

1

C
CxPqBbvtDRP8ZgSE' OR 498=(SELECT 498 FROM PG_SLEEP(15))--

· 

March 13, 2026

1

C
CxPqBbvtbgQSYCym'; waitfor delay '0:0:15' --

· 

March 13, 2026

1

C
CxPqBbvt-1 waitfor delay '0:0:15' --

· 

March 13, 2026

1

(
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/

· 

March 13, 2026

1

C
CxPqBbvt0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z

· 

March 13, 2026

1

C
CxPqBbvt0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z

· 

March 13, 2026

1

i
if(now()=sysdate(),sleep(15),0)

· 

March 13, 2026

1

-
-1" OR 5*5=26 or "yijVpSvJ"="

· 

March 13, 2026

1

-
-1" OR 5*5=25 or "yijVpSvJ"="

· 

March 13, 2026

1

-
-1' OR 5*5=26 or 'zWjILt9W'='

· 

March 13, 2026

1

-
-1' OR 5*5=25 or 'zWjILt9W'='

· 

March 13, 2026

1

-
-1" OR 5*5=26 --

· 

March 13, 2026

1

-
-1" OR 5*5=25 --

· 

March 13, 2026

1

-
-1' OR 5*5=26 --

· 

March 13, 2026

1

-
-1' OR 5*5=25 --

· 

March 13, 2026

1

-
-1 OR 5*5=26

· 

March 13, 2026

1

-
-1 OR 5*5=25

· 

March 13, 2026

1

-
-1 OR 5*5=26 --

· 

March 13, 2026

1

-
-1 OR 5*5=25 --

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

"+response.write(9182376*9970335)+"

C
CxPqBbvt

· 

March 13, 2026

'+response.write(9182376*9970335)+'

C
CxPqBbvt

· 

March 13, 2026

response.write(9182376*9970335)

C
CxPqBbvt

· 

March 13, 2026

Comment

C
CxPqBbvt

· 

March 13, 2026

'"

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

C
CxPqBbvt

· 

March 13, 2026

1

<