Skip to content

Instantly share code, notes, and snippets.

@JalinWang
Last active October 9, 2022 04:28
Show Gist options
  • Save JalinWang/aa15b1c26411a70ebca2adc609447bf5 to your computer and use it in GitHub Desktop.
Save JalinWang/aa15b1c26411a70ebca2adc609447bf5 to your computer and use it in GitHub Desktop.
The final report for GSoC 2022.

GSoC 2022 Final Report

My Works

1. Make a default implementation of WatcherEx

Related issues: casbin/casbin#943 casbin/casbin#960 casbin/casbin#949 casbin/casbin#1092

Development record: casbin/casbin#999

Though there was a Redis watcher with WatcherEx implemented (even partially casbin/redis-watcher#26), it provided no default callback function for updates. When an instance receives the update, the enforcer will invoke LoadPolicy() to rebuild the whole policy table by default. I tried to provide a more complete implementation which lets users enjoy the out-of-box incremental synchronization across multiple instances. Now the Redis-watcher is the first watcher with default implementation of WatcherEx.

2. Update the benchmark cases across languages

Development record: casbin/casbin#1049
For fair comparison of the performance across different languages https://casbin.org/docs/en/benchmark, unified test cases are required. I have ported them of the Golang version into other languages like C++ and Python.

3. Add other features and solve user issues

20+ features and bug fixes: https://github.com/casbin/casbin/issues?q=author%3AJalinWang
40+ issues: https://github.com/casbin/casbin/issues?q=commenter%3AJalinWang

4. Maintain the ecosystem

Maintain adapters for new requested feature and bugs. contrib in xorm-adapter
contrib in gorm-adapter
contrib in ent-adapter
contrib in casbin-pg-adapter
I also maintain a new fork of gorm-adapter named gorm-adapter-ex implemented by more fashsion features (e.g., reflection in Golang), which provide more flexibility than original one.
Update docs: https://github.com/casbin/casbin-website-v2/issues?q=author%3AJalinWang
New plugin: https://github.com/casbin/tyk-authz

TBD

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment